Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1544to1548
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

VBA: Suchen - Weitersuchen

VBA: Suchen - Weitersuchen
03.03.2017 08:34:40
Daniel
Hallo Excelprofis,
Ich habe ein Suchen - Weitersuchen Makro konstruiert, welches mir in einer Schlaufe Resultatblöcke findet und dort in einem bestimmten Bereich des Blockes Zahlen einträgt. Ändere ich dieses Makro nun so, dass im Block Zeilen eingefügt werden, um mehr Zahlen einzutragen, als der Resultatblock freie Zeilen enthält, so funktioniert das Weitersuchen nicht mehr. Ich nehme an, dass ich durch das Einfügen der Zellen die Objektreferenz verändere.
Kann mir bitte jemand einen Tipp geben, wie ich dieses Problem löse.
Vielen Dank!
Daniel D.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wo ist der Code oder die Beispielmappe? (owT)
03.03.2017 08:52:26
EtoPHG

AW: Wo ist der Code oder die Beispielmappe? (owT)
03.03.2017 09:24:05
Daniel
Hallo,
Leider kann ich den Code nicht so posten, aber vielleicht geht es per Upload: https://www.herber.de/bbs/user/111924.xlsm
Danke!
Daniel D.
AW: Wo ist der Code oder die Beispielmappe? (owT)
03.03.2017 10:24:24
EtoPHG
Hallo Daniel,
Ich hab deine Beispielmappe angeschaut. Ich kann mir aus der Datendarstellung absolut keinen Reim machen, was die angestrebte Funktionalität der Arbeitsmappe ist. Kannst du erläutern, was
Eingabe Daten - Verarbeitung - Erwartete Ausgabe (Resultat)
sind oder sein sollen?
Gruess Hansueli
AW: Wo ist der Code oder die Beispielmappe? (owT)
03.03.2017 11:29:56
Daniel
Hallo Hansueli,
Das Ganze ergibt ein Protokollformular, welches soweit möglich in Excel vorbereitet wird. Oben an den Blöcken stehen Anweisungen für die Mitarbeiter, unten werden die Probennummern eingetragen. Die Anzahl der Blöcke sowie die Zahl der Nummern sind variabel.
In der Spalte P trage ich die Nummern ein, welche dann in allen vorhandenen Blöcken unterhalb der Bezeichnung "Proben-Nr" durch das Makro eingetragen werden sollen. Das Ende des Datenbereichs des Blockes ist durch den Eintrag "Visum" in Spalte M definiert. Diese beiden Einträge sind das einzige konstante in den Blöcken. Exemplarisch sind 2 Blöcke in der Beispieltabelle, welche hier in Zeile 46 und 62 beginnen.
Das umgebaute Makro prüft blockweise, ob im Datenbereich eines jeden Blocks genügend Zeilen vorhanden sind, um alle Probennummern einzutragen und fügt diese bei Bedarf ein.
Dies klappt beim ersten Block, führt aber im weiteren Verlauf des Makros zum Finden des nächsten Blockes zu einer Fehlermeldung.
Ich hoffe, diese Erklärungen sind nützlich...
Danke und Gruss
Daniel D.
Anzeige
Da hat man keinen durchblick
03.03.2017 11:49:45
Max2
Hallo,
Dein Code bricht sich ständig selbst ab durch die etlichen "Exit Sub" im Code.
Bei deinem .FindNext brauchst du auch eine Abbruchbedingung.
With Worksheets(1).Range("a1:a500")
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
            If c is Nothing Then
GoTo DoneFinding
End If
Loop While Not c Is Nothing And c.Address  firstAddress
End If
DoneFinding:
End With
Fett markiert im Code von MSDN.
Schreibst du die rein geht es aber dann killt ein Exit Sub eben das ganze wieder.
Ich würde die Suche und das einfügen etc. trennen.
Ein Sub sucht danach
Ein Sub überträgt
Ein Sub macht was auch immer
Dadurch wird es übersichtlicher und du kannst es wesentlich einfacher anpassen bzw. verändern
Anzeige
AW: Da hat man keinen durchblick
03.03.2017 12:31:41
Daniel
Hallo,
Danke für die Durchsicht des Codes und Deinen Tipp. Ich werde wohl Makro so anpassen müssen. Ich verstehe aber die Ursache des Problems noch nicht: sobald ich in den Block per Code Zeilen einfüge, funktioniert das Weitersuchen nicht mehr.
Gruss
Daniel D.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige