ich wäre euch sehr dankbar, wenn ihr mir helfen könntet.
Ich habe eine Arbeitsmappe in der das erste Blatt eine Textbox und ein Button hat. Hier wird der Suchbegriff eingegeben.
Prozedur im Arbeitsblatt:
Private Sub TextBox1_Change()
Suchbegriff = TextBox1.Text
End Sub
Das zweite Arbeitsblatt heißt "Ergebnisse", hierhin sollen die Suchergebnisse kopiert werden.
Alle weiteren Arbeitsblätter beinhalten die zu durchsuchenden Daten.
Die Suche in einem Arbeitsblatt habe ich hinbekommen. Aber das mit der For... Next Schleife klappt nicht - bzw. glaube ich, dass die Ergebnisse jeweils mit den neuen überschrieben werden.
Ich glaube es hat etwas mit der Variable "LetzteZelle" zu tun und ich muss etwas mit Rows.count machen... Ich weiß allerdings nicht wie...
Prozedur im Modul:
Public Suchbegriff As String
Sub Schaltfläche2_KlickenSieAuf()
Dim Zelle As Variant, ErsteAdresse As String
Dim LetzteZelle As Integer, intCount As Integer
Dim i As Integer
Application.ScreenUpdating = False
Worksheets("Ergebnisse").Cells.Clear 'Alte Tabelleninhalte löschen
If Suchbegriff = "" Then Exit Sub
With Worksheets(3)
'Überschriftenzeile kopieren ...
.Rows(1).Copy Destination:=Worksheets("Ergebnisse").Range("a1")
End With
For i = 3 To Worksheets.Count
With Worksheets(i)
With .UsedRange
Set Zelle = .Find(What:=Suchbegriff, After:=Range("A1"), _
LookIn:=xlValues, lookat:=xlWhole, _
SearchOrder:=xlNext, MatchCase:=True)
If Not Zelle Is Nothing Then
ErsteAdresse = Zelle.Address
LetzteZelle = 2
Do
.Rows(Zelle.Row).Copy _
Destination:=Worksheets("Ergebnisse") _
.Cells(LetzteZelle, 1)
Set Zelle = .FindNext(Zelle)
LetzteZelle = LetzteZelle + 1
Loop While Not Zelle Is Nothing And _
Zelle.Address ErsteAdresse
End If
End With
End With
Next
Worksheets("Ergebnisse").Select
Range("a1").Select
Application.ScreenUpdating = True
MsgBox ("Suchergebnis fuer: " & Suchbegriff)
End Sub