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

Abfragge, ob VLookup Fehlerwert ergibt

Abfragge, ob VLookup Fehlerwert ergibt
Peter
Guten Tag
In einem Code ersetze - ich wenn gewisse Bedingungen erfüllt sind - einen Zellwert mit einem Wert, den ich mittels VLOOKUP abfrage.
Wenn nun im Lookuptable der entsprechende Wert nicht hinterlegt ist, möchte ich dies mit einer Message-Box anzeigen lassen. Ich habe versucht, als weitere Bedingung eine Abfrage hinzuzufügen, ob die WorksheetFunction einen Fehler ergibt, doch das scheint nicht zu klappen. Anstatt TRUE ergibt
IsError(rngZelle.Value = Application.WorksheetFunction.VLookup(rngZelle.Offset(0, 2), Range("FIBU_KTO"), 2, False)) wieder ein Fehlerwert.
Wie muss der Code lauten, dass ich die anstprechende Message-Box erhalte?
Bedingungen?
Len(rngZelle.Value) = 13 'String hat die Länge 13
Left(rngZelle.Value, 6) = "110000" oder Left(rngZelle.Value, 6) = "130000"
Application.WorksheetFunction.VLookup(rngZelle.Offset(0, 2), Range("FIBU_KTO"), 2, False) ergibt Fehlerwert
Vielen Dank für eine Antwort
Gruss, Peter
PS: Gescheiterter Versuch:
If Len(rngZelle.Value) = 13 And (Left(rngZelle.Value, 6) = "110000" Or Left(rngZelle.Value, 6) = "130000") And IsError(rngZelle.Value = Application.WorksheetFunction.VLookup(rngZelle.Offset(0, 2), Range("FIBU_KTO"), 2, False)) Then MsgBox rngZelle.Offset(0, 2) & " - Wert nicht definiert"

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

Betreff
Benutzer
Anzeige
AW: Abfrage, ob VLookup Fehlerwert ergibt
19.07.2011 16:11:07
Rudi
Hallo,
If IsError(Application.VLOOKUP(rngZelle.Offset(0, 2), Range("FIBU_KTO"), 2, 0)) Then ...
Gruß
Rudi
AW: Abfrage, ob VLookup Fehlerwert ergibt
19.07.2011 16:52:55
Peter
Hallo Rudi
Vielen Dank!
Gruss, Peter
Etwas genauer?
19.07.2011 19:31:27
Erich
Hi Peter,
ist eventuell die Unterscheidung interessant, ob der Fehler entsteht, weil der Suchbegriff in der 1. Spalte von "FIBU_KTO"
nicht gefunden wird oder weil (wenn er gefunden wird) der Wert daneben in der 2. Spalte eine Fehlerwert ist?
Wenn ja, schau dir mal den folgenden Code an. A und B treffen die selbe Aussage,
C gibt die Info über einen Fehlerwert in der 2. Spalte:

Sub VLookup_Match()
Dim rngZelle As Range
Dim varW
Set rngZelle = Cells(1, 1)
' A
If IsError(Application.Match(rngZelle.Offset(0, 2), _
Range("FIBU_KTO").Columns(1), False)) Then _
MsgBox rngZelle.Offset(0, 2) & " - Wert nicht definiert"
' B
varW = Application.VLookup(rngZelle.Offset(0, 2), Range("FIBU_KTO"), 1, 0)
If IsError(varW) Then MsgBox rngZelle.Offset(0, 2) & _
" - Wert nicht definiert"
' C
varW = Application.VLookup(rngZelle.Offset(0, 2), Range("FIBU_KTO"), 2, 0)
If IsError(varW) Then MsgBox "'" & rngZelle.Offset(0, 2) & _
"' wurde gefunden," & vbLf & "aber der zugehörige Wert ist ein Fehlerwert:" & _
vbLf & CStr(varW)
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Etwas genauer?
19.07.2011 21:32:45
Rudi
Hallo,
A könnte man auch durch Application.Countif(...)=0 ersetzen.
Gruß
Rudi
Das Wetter spielt uns nicht gerade in die Hände ;-(. Ich habs aber noch im Kopf.
@Rudi: Ja, ist besser
20.07.2011 17:18:07
Erich
Hi Rudi,
ja, CountIf ist wohl der beste Ersatz für A bzw. B. Vergesse ich immer wieder. :-(
Nicht vergessen ist das CU. Es wird werden!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Etwas genauer?
20.07.2011 18:35:33
Peter
Hallo Erich und Rudi
Vielen Dank für die Ausführungen und Präzisierungen.
Echt hilfreich!
Gruss, Peter

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige