Supportnet / Forum / Tabellenkalkulation
Suche (Anzeige) mit Input Box
Frage
Guten Tag,
dank der Hilfe von EVENT kann ich in meiner EXCEL
Tabelle die Spalte A nach übereinstimmungen durchsuchen.
Nun hat sich aber ergeben, dass ach in der Spalte E nach
Übereinstimmungen zu such ist.
ich habe daher A:A auf E:E ausgebessert. Das läuft auch
bestens, aber! Wenn eine übereinstimmundg gefunden wird,
dann "rückt" die Spalte a nach links, so dass die Bildschirm
Anzeige mit Spalte E beginnt!
Ist euch möglich, mir dabei behilflich zu sein, dass bei einer
gefundenen Übereinstimmung ab der Spalte A der sichtbare
bginnt?
Danke Hannes
Sub A_Suchen()
Sheets("LaserKop").Select
Static rng As Range
Static strAddress As String, strFind As String
strFind = InputBox("Bsp.: Sie benötigen das passende
Zubehör für eine Canon Pixma iP 4200, Geben Sie
folgendes ein: Canon*pix*ip*4200", "In Spalte Marke und
Type suchen", strFind)
´Suchen in Spalte E
Set rng = Range("E:E").Find(strFind, LookAt:=xlPart,
LookIn:=xlFormulas)
If strFind = "" Then Exit Sub
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.Goto rng, True
Dim dummy As Variant
dummy = MsgBox("Wollen Sie nach weiteren
Übereinstimmungen suchen?", vbYesNoCancel +
vbQuestion)
If dummy = vbNo Then Exit Do
If dummy = vbCancel Then Exit Sub
Set rng = Range("E:E").FindNext(After:=ActiveCell)
If rng.Address = strAddress Then
End If
Loop
End If
If rng Is Nothing Then
Beep
MsgBox "Es wurde kein passendes Gerät gefunden!"
Exit Sub
End If
rng.Select
End Sub
Antwort 1 von Event
Hallo Hannes
Ersetze das Argument True in der zeile
Gruß
Ersetze das Argument True in der zeile
Zitat:
Application.Goto rng, True
durch False.Application.Goto rng, True
Gruß
Antwort 2 von Hannes5310
Hallo EVENT!
Danke !
ich hab nun
Application.Goto rng, True
auf
Application.Goto rng, False
geändert.
Ich suche nun in Spalte E (nach einer Artikelnummer)
Die Tabelle ist jedoch nach einer gefundenen Übereinstimmung immer noch ab Spalte E sichtbar (E, F, G, H, I, ...).
Die Spalten A B,C und D "rücken also immer noch nach links weg", wenn in E was gesucht und gefunden wurde.
Danke, für Deine Hilfe
Hannes
Geänderter VBA Code:
---------------------------------------------------------
Sub E_Suchen()
´
´ Suchen Makro
Static rng As Range
Static strAddress As String, strFind As String
strFind = InputBox("Such Beispiel: c6578ae oder 6578", "Nach Artikelnummern suchen", strFind)
´Suchen in Spalte E
Set rng = Range("E:E").Find(strFind, LookAt:=xlPart, LookIn:=xlFormulas)
´
If strFind = "" Then Exit Sub
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.Goto rng, False
Dim dummy As Variant
dummy = MsgBox("Wollen Sie nach weiteren Übereinstimmungen suchen?", vbYesNoCancel + vbQuestion)
If dummy = vbNo Then Exit Do
If dummy = vbCancel Then Exit Sub
Set rng = Range("E:E").FindNext(After:=ActiveCell)
If rng.Address = strAddress Then
End If
Loop
End If
If rng Is Nothing Then
Beep
MsgBox "Zu diesen Angaben wurde keine Artikelnummer gefunden!"
Exit Sub
End If
rng.Select
End Sub
Danke !
ich hab nun
Application.Goto rng, True
auf
Application.Goto rng, False
geändert.
Ich suche nun in Spalte E (nach einer Artikelnummer)
Die Tabelle ist jedoch nach einer gefundenen Übereinstimmung immer noch ab Spalte E sichtbar (E, F, G, H, I, ...).
Die Spalten A B,C und D "rücken also immer noch nach links weg", wenn in E was gesucht und gefunden wurde.
Danke, für Deine Hilfe
Hannes
Geänderter VBA Code:
---------------------------------------------------------
Sub E_Suchen()
´
´ Suchen Makro
Static rng As Range
Static strAddress As String, strFind As String
strFind = InputBox("Such Beispiel: c6578ae oder 6578", "Nach Artikelnummern suchen", strFind)
´Suchen in Spalte E
Set rng = Range("E:E").Find(strFind, LookAt:=xlPart, LookIn:=xlFormulas)
´
If strFind = "" Then Exit Sub
If Not rng Is Nothing Then
strAddress = rng.Address
Do
Application.Goto rng, False
Dim dummy As Variant
dummy = MsgBox("Wollen Sie nach weiteren Übereinstimmungen suchen?", vbYesNoCancel + vbQuestion)
If dummy = vbNo Then Exit Do
If dummy = vbCancel Then Exit Sub
Set rng = Range("E:E").FindNext(After:=ActiveCell)
If rng.Address = strAddress Then
End If
Loop
End If
If rng Is Nothing Then
Beep
MsgBox "Zu diesen Angaben wurde keine Artikelnummer gefunden!"
Exit Sub
End If
rng.Select
End Sub
Antwort 3 von coros
Hi Hannes,
lösche am Ende des Makros den Befehl
rng.Select
heraus. Dieser bewirkt, dass Dir die Zelle mit der Übereinstimmung markiert wird und somit die Spalten nach links verschoben werden. Das sollte es gewesen sein. Hätte @Event aber auch wissen sollen, denn schließlich stammt der Code ja aus seiner Feder.
Bei Problemen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
lösche am Ende des Makros den Befehl
rng.Select
heraus. Dieser bewirkt, dass Dir die Zelle mit der Übereinstimmung markiert wird und somit die Spalten nach links verschoben werden. Das sollte es gewesen sein. Hätte @Event aber auch wissen sollen, denn schließlich stammt der Code ja aus seiner Feder.
Bei Problemen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von Hannes5310
Hallo Oliver,
danke für die Info, rng.Select hab ich entfernt!
Das Biest will aber immer noch nicht "richtig laufen)!
... bei gefundener Übereinstimmung, beginnt die Tabelle immer noch mit Spalte E (.... frust, weil ich mich net auskenne!)
Hanens
danke für die Info, rng.Select hab ich entfernt!
Das Biest will aber immer noch nicht "richtig laufen)!
... bei gefundener Übereinstimmung, beginnt die Tabelle immer noch mit Spalte E (.... frust, weil ich mich net auskenne!)
Hanens
Antwort 5 von Event
Hallo
@Coros Oliver
https://supportnet.de/threads/1252848
Bin ja auch nur ein Flickschusterer..
Gruß
@Coros Oliver
Zitat:
Hätte @Event aber auch wissen sollen, denn schließlich stammt der Code ja aus seiner Feder.
Hätte @Event aber auch wissen sollen, denn schließlich stammt der Code ja aus seiner Feder.
https://supportnet.de/threads/1252848
Bin ja auch nur ein Flickschusterer..
Gruß