Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife in Makro integrieren

Schleife in Makro integrieren
04.06.2020 07:11:37
Lisa
Hallo zusammen,
ich hoffe, ihr könnt mir hier weiterhelfen, ich bin leider absoluter VBA-Anfänger...
Ich möchte in einer sehr großen Excel Tabelle in jeder Zeile nach einer bestimmten Information (Personalnummer) suchen, die sich aber dort in verschiedenen Zellen verstecken kann.
Per Makrorecorder konnte ich zumindest für die erste Zeile (Zeile 6) die Information herausfiltern, jetzt möchte ich das Makro jedoch auf alle Zeilen bzw. die gesamte Tabelle ausweiten und komme hier nicht weiter.
Könnt ihr mir Tipps geben, wie ich die Schleife integrieren kann?
Sub Makro1()
'' Makro1 Makro
' Personalnummer suchen
'    Rows("6:6").Select
Range("GW6").Activate
Selection.Find(What:="*robpers", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Range("EU6").Select
Selection.Copy
Range("HM6").Select
ActiveSheet.Paste
End Sub

Lieben Dank vorab und viele Grüße
Lisa

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beispiel-Code
04.06.2020 08:41:16
Fennek
Hallo Lisa,
hier ein Beispiel-Code:

With Worksheets(1).Range("a1:a500")
Set c = .Find(2, lookin:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
'mach was
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
Am Anfang wird der Suchbereich definiert (hier: A1:A500), das können aber viele Spalten oder mit .Cells das ganze Arbeitblatt sein. Da sich Excel einige Parameter von der letzen Abfrage merkt, sollte man immer zumindest "lookin" (xlFormulas | xlValues) und "lookat" (xlWhole | xlPart) angeben.
Um mehrere Treffer zu finden, ist die "Do -- Loop" - Schleife notwendig. Damit es keine Endlosschleife wird, muss die Addresse gespeichert werden.
Die Treffer werden mit "Set" einer Object-Variblen zugeodnet.
Es gibt viele recht gute Erklärungen im Netz.
mfg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige