Ich möchte den Bereich 'Daten' A1:N100 nach bestimmten worten durchsuchen.
das Makro soll mir jede zeile kopieren und im selben workbook in die zweite Tabelle einfügen ('Gefunden', ab Bereich Zeile A2). anschliessend wird der gesamte Bereich in eine listbox eingelesen.
beim folgenden code wird aber nur die erste zeile kopiert (zeile a1 muss kopiert werden) und keine suchergebnisse ausgegeben.
Private Sub go_Click()
'Sucht einen Begriff in einem bestimmten Blatt,
'und kopiert die Ergebnisse in ein anderes Blatt
Static Suchbegriff As String
'Hinweis zur Variablendeklaration: Im Beispielcode waren nur
'jeweils die letzten Variablen korrekt deklariert. Alle anderen
'Variablen waren (autom.) vom Typ "Variant". Es reicht nicht,
'den Typ nur am Ende einer Zeile anzugeben.
Dim Zelle As Variant, ErsteAdresse As String
Dim LetzteZelle As Integer, intCount As Integer
Application.ScreenUpdating = False
Worksheets("Suchen").Cells.Clear 'Alte Tabelleninhalte löschen
Suchbegriff = suchentxt.Text
If Suchbegriff = "" Then Exit Sub
With Sheets("Daten")
'Überschriftenzeile kopieren ...
.Rows(1).Copy Destination:=Worksheets("Suchen").Range("A1")
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("Suchen") _
.Cells(LetzteZelle, 1)
Set Zelle = .FindNext(Zelle)
LetzteZelle = LetzteZelle + 1
Loop While Not Zelle Is Nothing And _
Zelle.Address <> ErsteAdresse
End If
Worksheets("Suchen").Select
Range("A1").Select
End With
End With
Application.ScreenUpdating = True
Dim o As Integer
Sheets("Suchen").Select
o = ActiveSheet.UsedRange.Rows.Count
With UserForm1.ListBox1
.ColumnCount = 3 'hier die anzahl der spalten
.ColumnHeads = True
.RowSource = "Suchen!A2:n2" & o 'hier dein Bereich
.ColumnWidths = "4cm;4cm;2cm" ' hier die spaltenbreite
End With
end Sub
danke für die hilfe