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

MsgBox in Suchfunktion

MsgBox in Suchfunktion
02.05.2021 19:36:20
Jannik
Hallo zusammen, ich habe ein Problem bei dem ich nicht weiter komme.
Im Folgenden Code passiert Folgendes:
In eine Suchzeile wird ein Geburtsdatum eingegeben.
Nun wird in einer Liste von Kontakten nach diesem Datum gesucht. Die Treffer werden in einer Listbox ausgegeben.
Wird nichts gefunden wird eine MsgBox gezeigt, die darauf hinweist, dass nichts gefunden wurde, und fragt, ob ein neuer Kontakt angelegt werden soll.
Nun zum Problem:
Die MsgBox taucht immer auf, auch wenn Kontakte gefunden werden. Ich komme nicht drauf wie ich das löse.
Es in die Suchfunktion zu schreiben bringt auch nichts, weil ich es dann für jede durchsuchte Zeile angezeigt bekomme.
Kann mir jemand helfen? :-/
Viele Grüße
Jannik

Public Sub CBsearchBirth_Click()
Dim neuerKunde As Integer
Dim birthSuchbegriff
Dim LetzteZeile, Suchbereich As Long
birthSuchbegriff = UFempfang.TBbirth
With Sheets("Kunden")
LetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
If birthSuchbegriff = "" Then
MsgBox "Kein Datum eingegeben"
Else
For Suchbereich = 2 To LetzteZeile
If InStr(Cells(Suchbereich, 4), birthSuchbegriff) > 0 Then
Unload Me
UFelistebirth.Show vbModeless
UFelistebirth.ListBox1.AddItem _
Cells(Suchbereich, 1) & "; " & _
Cells(Suchbereich, 3) & " " & _
Cells(Suchbereich, 2) & "; " & _
Cells(Suchbereich, 4)
Else
End If
Next Suchbereich
'Wenn kein Datensatz gefunden:
neuerKunde = MsgBox("Kunde nicht vorhanden. Neu anlegen?", vbExclamation + vbYesNo + vbDefaultButton1, "Kunde nicht vorhanden")
If neuerKunde = vbYes Then
UFnewcustomer.Show vbModeless
Else
End If
End If
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox in Suchfunktion
02.05.2021 21:49:53
onur
Wieso glaubst du eigentlich , dass der Code hinter

'Wenn kein Datensatz gefunden:
nur dann ausgeführt werden würde, wenn kein Datensatz gefunden wurde ?
Und wie glaubst du, geht der Code weiter, wenn etwas gefunden wurde und die Schleife zu Ende ist ?
AW: MsgBox in Suchfunktion
02.05.2021 22:49:34
Jannik
Hallo Onur,
Satzzeichen sind keine Rudeltiere.
Darum geht es doch gar nicht. Mir ist bewusst, dass das so nicht funktioniert.
Daher Frage ich um Hilfe, in der Hoffnung, dass mir jemand hilft. Dass du nicht derjenige sein wirst, hast du hiermit klar gemacht. Danke dass du dir die Zeit genommen hast.
Anzeige
AW: MsgBox in Suchfunktion
02.05.2021 23:25:38
onur
Hilfe zur Selbsthilfe ist wohl nicht dein Ding.
Wenn du doch weisst, WAS der Fehler ist, wieso änderst du es denn nicht?
Du brauchst nur eine Boolean-Variable (z.B. found), die auf true gesetzt wird, wenn was gefunden wurde.

Dim found as Booelean
If InStr(Cells(Suchbereich, 4), birthSuchbegriff) > 0 Then
found=True
....
und die Msgbox wird erst aufgerufen, wenn found=false ist:

if found then Exit Sub
neuerKunde = MsgBox("Kunde.........

AW: MsgBox in Suchfunktion
03.05.2021 20:21:53
Jannik
Hallo Onur,
vielen Dank und Entschuldigung, das habe ich wohl etwas in den falschen Hals bekommen. Danke für die Lösung. Es ist so offensichtlich, aber ... manchmal ...
Anzeige
Gerne !
03.05.2021 20:32:50
onur
Kein Problem.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige