29.01.2020, 17:24
Hallo zusammen!
Ich habe ein VBA-Programm geschrieben, um in Spalte A nach dem Wort "Hallo" in einer Tabelle zu suchen. Sobald das Wort in der Spalte gefunden wird, überträgt das Programm die Zeile in der Spalte nach rechts in eine neue Tabelle. Das funktioniert gut. Jetzt möchte ich nach mehreren Wörtern gleichzeitig suchen. Leider funktioniert das nicht ... Kann sich jemand den VBA-Code ansehen und mir sagen, was ich falsch gemacht habe? Vielen Dank im Voraus!
Der Code
Sub test()
T = "T1"
X = "A"
AX = 1
Z = "T4"
Y = 2
AY = "B"
Do Until Suche <> ""
Suche = ("hallo")
Loop
Set A = Worksheets(T)
Set B = Worksheets(Z)
Y = Y
With A.Columns(X)
Set Gefunden = .Find(Suche, LookIn:=xlValues)
If Not Gefunden Is Nothing Then
Erste = Gefunden.Address
Do 'für alle Fundstellen
B.Cells(Y, AY).Resize(1, AX) = Gefunden.Offset(0, 1).Resize(1, AX).Value
Y = Y + 1
Set Gefunden = .FindNext(Gefunden)
Loop Until Gefunden.Address = Erste
End If
End With
End Sub
Ich habe ein VBA-Programm geschrieben, um in Spalte A nach dem Wort "Hallo" in einer Tabelle zu suchen. Sobald das Wort in der Spalte gefunden wird, überträgt das Programm die Zeile in der Spalte nach rechts in eine neue Tabelle. Das funktioniert gut. Jetzt möchte ich nach mehreren Wörtern gleichzeitig suchen. Leider funktioniert das nicht ... Kann sich jemand den VBA-Code ansehen und mir sagen, was ich falsch gemacht habe? Vielen Dank im Voraus!
Der Code
Sub test()
T = "T1"
X = "A"
AX = 1
Z = "T4"
Y = 2
AY = "B"
Do Until Suche <> ""
Suche = ("hallo")
Loop
Set A = Worksheets(T)
Set B = Worksheets(Z)
Y = Y
With A.Columns(X)
Set Gefunden = .Find(Suche, LookIn:=xlValues)
If Not Gefunden Is Nothing Then
Erste = Gefunden.Address
Do 'für alle Fundstellen
B.Cells(Y, AY).Resize(1, AX) = Gefunden.Offset(0, 1).Resize(1, AX).Value
Y = Y + 1
Set Gefunden = .FindNext(Gefunden)
Loop Until Gefunden.Address = Erste
End If
End With
End Sub