Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
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

Weitersuchen in Schleife

Weitersuchen in Schleife
11.06.2020 15:13:45
Kerstin
Hallo Excel-Cracks!
Ich stehe wieder einmal "auf dem Schlauch"und brauche eure Hilfe:
Ich habe folgenden Code (hier im Forum gefunden), der folgendes macht:
In einer Liste in Blatt "Autoren_und_Titellsite" in der Spalte A nach einem Nachnamen suchen und in Spalte B nach einer Nummer suchen.
Die zu suchenden Werte stehen in Blatt "Bucherfassung" in Zelle G4 (Nachname) und in Zelle K4 (Nummer). Wenn beides nebeneinander gefunden wurde, wird die nebenstehende Zelle (SpalteC) aktiviert.
Klappt bestens!
Nun kann es aber dummerweise sein, daß der Nachname mit der GLEICHEN NUMMER mehrfach im Blatt "Autoren_und_Titelliste" steht. Deshalb hätte ich gerne, daß mit einer vbYesNo Abfrage nach dem ersten Treffer weitergesucht werden kann. Egal, wohin ich meine vbYesNo Abfrage packe, der Debugger meckert (Fehler beim Kompilieren: "Next" ohne "For"). Ihr wisst bestimmt Rat...
Hier ist mein Code:
Sub TestSucheZweiSpalten()
If Sheets("Bucherfassung").Range("K4")  "" And Sheets("Bucherfassung").Range("K4") > 1  _
And Sheets("Bucherfassung").Range("J3") = "Serientitel" Then  'Untertitel unf Band
Dim Bereich As Range
Dim LRow As Long, Anzahl As Long, Zeile
Dim Wert1, Wert2
Dim Gefunden As Boolean
Wert1 = Sheets("Bucherfassung").Range("G4").Value         'Suchwert1(Autor NN)
Wert2 = Sheets("Bucherfassung").Range("K4") - 1             'Suchwert2(BandNr)
With Sheets("Autoren_und_Titelliste")                                   'zu durchsuchende  _
Tabelle
Set Bereich = .Range("A1", .Cells(.Rows.Count, 2).End(xlUp).Offset(0, -1))
Anzahl = Application.WorksheetFunction.CountIf(Bereich, Wert1 & "*")
For LRow = 1 To Anzahl
Zeile = Application.Match(Wert1 & "*", Bereich, 0)
If IsNumeric(Zeile) Then
Anzahl = IIf(LRow = 1, Zeile, Anzahl + Zeile)
If .Cells(Anzahl, 2) Like "*" & Wert2 & "*" Then
.Select
.Cells(Anzahl, 3).Select
Gefunden = True
Exit For
''**********weiter mit Ja/ Nein ***************
'MB1 = MsgBox("Ist dies die gesuchte Serie (" & Sheets("Bucherfassung").Range("J4") & ")?" &  _
vbLf & vbLf & vbLf, vbYesNo)
'                        If MB1 = vbYes Then
'                        ActiveCell.Copy
'                        Sheets("Bucherfassung").Range("AJ4").PasteSpecial Paste:=xlValues
'                        Application.CutCopyMode = False
'                        MsgBox "Serienpunkt   *" & Range("AJ4") & "*   wurde hinzugefügt"
'                        Exit For
'                        ElseIf MB1 = vbNo Then
''                        MsgBox "Weitersuchen!"
'                        End If
Else
Set Bereich = .Range(Bereich.Offset(Zeile, 0), Bereich(Bereich.Cells.Count))
Zeile = Application.Match(Wert1 & "*", Bereich, 0)
End If
End If
Next LRow
End With
If Gefunden = False Then MsgBox "Autor wurde nicht gefunden!"
End If
End Sub

Vielen dank schon mal für die Hilfe!
VG
Kerstin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Weitersuchen in Schleife
11.06.2020 15:17:49
ralf_b
next ohne for heisst du hast ein for befehl verschwinden lassen. oder versehentlich das next übrig gelassen.
AW: Weitersuchen in Schleife
11.06.2020 15:24:42
Kerstin
Hallo Ralf!
Ich habe aber an der "Next - For" Geschichte nichts geändert, ich möchte nur irgendwo meine ja/nein Abfrage unterbringen und dann soll der Code bei "Nein" weiterlaufen
VG
Kerstin
AW: Weitersuchen in Schleife
11.06.2020 15:53:18
onur
So wie du es im Beispiel gemacht hast, kann es schon mal nicht gar klappen, da die MsgBox-Geschichte NACH "Exit For" kommt und somit NICHT ausgeführt werden kann.
Poste besser mal die (Beispiels-) Datei.
AW: Weitersuchen in Schleife
12.06.2020 10:21:53
Kerstin
Hallo ihr 2!
Ich hatte gestern Bereitschaft und musste plötzlich arbeiten, deshalb melde ich mich erst jetzt.
Letzte Nacht habe ich mich dann noch einmal selbst an dem Code versucht und ein bisschen hin- und her geschoben. Und siehe da, es klappt plötzlich!
Trotzdem Danke!
VG Kerstin
Anzeige
AW: Weitersuchen in Schleife***Schreikrampf!!!!!!!
13.06.2020 21:23:26
jokeni46
Hallo nochmals!
Leider zu früh gefreut...
Mein Code klappt leider nur bedingt, d.h.:
*wenn ich nach der Zahl 1 suche, findet Excel die Zahl nur 1 x. Verstehe ich nicht! Wo ist der Unterschied zu anderen Zahlen?
*Und: Stehen die Namen nicht direkt untereinander, werden die restlichen Namen nicht gefunden.
*Und: ich möchte die jeweils gefundene Zelle angezeigt (Select) bekommen. Klappt auch nicht.
Da meine VBA-Kenntnisse mehr als bescheiden sind, komme ich nicht weiter. Ich kriege gleich echt 'nen Schreikrampf!!!! Hilfeeeeeee!
Da ich mit einem Mac arbeite, klappt der File-Upload auch nicht, deshalb hier der Link zu meiner Dropbox:
https://www.dropbox.com/s/opru9mae8c8eyjq/02testherbermappe1.xlsm?dl=0
Ich hoffe, ihr könnt mir helfen!
VG, Kerstin
P.S. Nur nochmal zum Verständnis:Ich möchte auf dem Tabellenblatt "Autoren_und_Titelliste" die Zeile (oder Zellen) angezeigt bekommen auf die die Werte aus der Tabelle "Bucherfassung" Zellen G4 und K4 gleichzeitig zutreffen. Dummerweise muss man im Tabellenblatt "Autoren_und_Titelliste" in Spalte A UND B suchen
Anzeige
AW: Weitersuchen in Schleife***Schreikrampf!!!!!!!
14.06.2020 06:54:40
Kerstin
Guten Morgen!
Hat niemand eine Idee?
VG, Kerstin
AW: Weitersuchen in Schleife
11.06.2020 16:17:58
ralf_b
die Dim Anweisungen gehören direkt unter die Sub-zeile. erst dannach kommt der code.
select befehle benötigt vba nicht, da es keine augen hat. sowas ist nur zum mitgucken.
AW: Weitersuchen in Schleife
14.06.2020 09:25:27
Hajo_Zi
Hallo Kerstin,
Benutze Autofilter und Kopiere den sichtbarenb Bereich, Start, Bearbeiten, Suchen..., Gehe zu, Inhalte, sichtbare Zellen.
Excel hat auch einen Makrorecorder.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige