Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
424to428
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
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Weg aus einer Cells.FindNext Schleife

Weg aus einer Cells.FindNext Schleife
11.05.2004 11:31:03
Russi
Hallo Zusammen,
kurze Problemschilderung:
Ich möchte in einer Excel-Tabelle im Sheet "Kunden" nach Begriffen aus dem Sheet "Suchbegriffe" suchen lassen. Ein Makro habe ich mir zusammenstellen können, Problem ist nur, dass ich aus dem Makro heraus den Sprung zum nächsten Suchbegriff, nach Durchlauf des vorherigen Suchbegriffes, nicht schaffe. Ziel ist, dass nach Durchlauf des ersten Suchbegriffes über alle Daten, auf Sheet "Suchbegriffe" der zweite bzw. nächste Suchbegriff ausgewählt wird...
Anbei das Makro zum besseren Verständnis...
-----
Option Explicit
Dim Eingabe As Variant
Dim introw, row As Long

Private Sub Suchen_Click()
On Error GoTo Errorhandler
Sheets("Suchbegriffe").Activate
introw = 2
Start:
While Sheets("Suchbegriffe").Cells(introw, 1).Value <> ""
Eingabe = Sheets("Suchbegriffe").Range("A2").Value
Sheets("Kunden").Activate
Cells.Find(What:=Eingabe, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False).entirerow.Select
Markieren:
Selection.Cells(row + 1, 10).Value = Eingabe
Cells.FindNext(After:=Selection).entirerow.Select
GoTo Markieren
'Hier muss ein Befehl rein, der am Ende des Datenbereiches dafür sorgt, dass
'im Sheet "Suchbegriffe" in Spalte "A" der nächste Suchbegriff ausgewählt wird
'und die Cells.FindNext-Methode nicht in einer Schleife durchläuft
Sheets("Suchbegriffe").Activate
introw = introw + 1
GoTo Start
Wend
MsgBox "Aufbereitung abgeschlossen"
GoTo Ende
Exit Sub
Errorhandler:
MsgBox "Der Suchbegriff wurde nicht gefunden"
Ende:
End Sub

---
Für Feedback besten Dank
Andreas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Weg aus einer Cells.FindNext Schleife
xXx
Hallo,
suchst du deine Suchbegriffe 1x oder mehrmals?
Gruß aus'm Pott
Udo
http://www.excelerator.de
AW: Weg aus einer Cells.FindNext Schleife
11.05.2004 13:08:13
Russi
Hallo Udo,
es sieht so aus, dass bis jetzt maximal 20 Suchbegriffe eingetragen werden können (im Sheet "Suchbegriffe"), die per While-Wend abgesucht werden. Ziel ist es, eine Kundendatenbank anhand der Firmennamen zum Teil kategorisieren zu können. Der Suchbegriff wird in der Tabelle "Kunden" mehrmals gesucht, d.h. von Zeile 2 bis xlend und danach soll der nächste, eingetragene Suchbegriff analog bearbeitet werden...
Gruß
Andreas
Anzeige
Problem gelöst
11.05.2004 13:56:32
Russi
Hallo Udo,
Problem gelöst. Ich habe den Zeilen der jeweilig gefunden Suchbegriffe Variablen zugeordnet und sobald die Folgevariable kleiner als die vorhergehende Variable wird, soll XL zum nächsten Suchbegriff springen...
Dennoch besten Dank für Deine Hilfsbereitschaft
Hier der Code, falls jemand im Archiv eine ähnliche Lösung sucht...:
---
Option Explicit
Dim Eingabe As Variant
Dim introw, row As Long
Dim X, Y, Z As Long
Dim intcounter As Integer

Private Sub Suchen_Click()
On Error GoTo Errorhandler
Sheets("Suchbegriffe").Range("A2").Select
introw = 2
'Z = Sheets("Kunden").Range("A65536").End(xlUp).Offset(1, 0).row
Start:
While Sheets("Suchbegriffe").Cells(introw, 1).Value <> ""
Eingabe = Sheets("Suchbegriffe").Cells(introw, 1).Value
Sheets("Kunden").Activate
Cells.Find(What:=Eingabe, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False).entirerow.Select
Markieren:
Selection.Cells(row + 1, 10).Value = Eingabe
X = Selection.Cells.Rows.row
Cells.FindNext(After:=Selection).entirerow.Select
Y = Selection.Cells.Rows.row
If Y > X Then
GoTo Markieren
Else
Sheets("Suchbegriffe").Activate
introw = introw + 1
GoTo Start
End If
Wend
MsgBox "Aufbereitung abgeschlossen"
GoTo Ende
Errorhandler:
MsgBox "Der Suchbegriff wurde nicht gefunden"
Ende:
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige