Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA if-Formel mit Textbox

VBA if-Formel mit Textbox
08.06.2021 11:15:40
Basti
Hallo Zusammen,
ich habe eine Hauptliste in der Daten von Bearbeitungslisten eingelesen eingelesen werden.
Hierzu überprüft folgende Formel die Übereinstimmung der jeweiligen Nummer:
'Dprozeile = WorksheetFunction.Match(editList.Cells(j, 3).Value, Dpro.Range("B:B"), 0)
Es kann aber vorkommen, dass in der Zwischenzeit die Nummer in der Hauptliste nicht mehr vorhanden ist.
Beim einlesen der Bearbeitungsliste in die Hauptliste entstehen so Fehlermeldungen, da die Nummer nicht mehr gefunden wird.
Könnte mir jemand auf die Sprünge helfen, wie ich eine Abfrage mit yes/no mache in der, falls keine Nummer gefunden wurde, eine Textbox erscheint mit "Nummer nicht gefunden" ?
Vielen Dank im Voraus
Basti
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Match mit Msgbox
08.06.2021 11:27:06
hary
Moin
Versuch es mal so.

Dim Dprozeile As Variant
Dprozeile = Application.Match(editList.Cells(j, 3).Value, Dpro.Range("B:B"), 0)
If IsNumeric(Dprozeile) Then
MsgBox "vorhanden: " & Dprozeile
Else
MsgBox "nicht vorhanden"
End If
gruss hary
Anzeige
Nacharbeitung erforderlich
08.06.2021 11:34:46
Yal
Hallo Basti,
versuch dein Problem komplett zu vergessen. Du weisst nicht mehr was Hauptliste und Bearbeitungsliste sind, editList und Dpro sind Bezeichner von irgendwas, was Du noch nie gesehen hast. Dann liest in diesem Stand deine Frage nochmal.
Anders gesagt: ich verstehe zu wenig, um Dir helfen zu können.
Versuch, Dir vorzustellen, Du erklärst es jemanden während Du schreibst und sei gleichzeitig diese Jemand, der gar nicht weisst und frage: warum? und was ist das? wofür? im welchen Zusammenhang steht das?
Alles, wo Du mit "ist für das Problem nicht relevant" antworten kannst, muss weg. Die andere Antworte gehören hier drin.
Wenn Du die Daten in der Datei anonymisieren kann, oder diese nicht kritisch sind, dann lade eine abgespeckte Version deiner Datei hoch.
VG
Yal
Anzeige
AW: VBA if-Formel mit Textbox
08.06.2021 11:36:36
Daniel
Hi
Application.Match verwenden.
Das gibt keinen Abbruch, sondern einen Fehlerwer als Ergebnis, diesen kann man in eine Variant-Variable schreiben und dann den Typ der Variable prüfen.

Dim Dprozeile as Variant
Dprozeile = Application.Match(...)
If IsError(Dprozeile) then
Msgbox "Nummer nicht gefunden"
Else
Hier dann der Code falls gefunden
End If
Anderen Möglichkeit, du fragst vorab mit Worksheetfunction.Countif ab, ob der Wert vorhanden ist.

if worksheetfunction.countif(Dpro.Range("B:B"), editList.Cells(j, 3).Value)  = 0 then
Msgbox "nicht gefunden"
Else
Dprozeile = WorksheetFunction.Match(...)
End if
In zeitkritischen Anwendungen hat diese Methode den Nachteil, dass der Zellbereich 2x durchsucht wird und daher etwas langsamer ist.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige