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

VBA SVERWEIS - Suchkriterium Blank anstatt 0

Forumthread: VBA SVERWEIS - Suchkriterium Blank anstatt 0

VBA SVERWEIS - Suchkriterium Blank anstatt 0
11.08.2018 11:17:20
Luggas
Hallo zusammen,
ich hätte nochmals eine Frage zwecks meinem SVERWEIS / VLookUp.
Und zwar sieht mein derzeitiger SVERWEIS nun wie folgt aus:
=WENNFEHLER(SVERWEIS(C7;'[test.xls]tabelle1'!$A$1:$B$65536;2;0);"Nicht gefunden")

Das passt soweit auch.
Nun würde ich gerne folgendes hinzufügen / abändern:
Wenn das Suchkriterium nicht vorhanden ist, z.B. C7 wäre nun eine blank-Zelle, soll die jeweilige SVERWEIS-Funktion auch ein Blank anzeigen (aktuell zeigt er eine 0 an.)
Und, so wie es aktuell schon ist, soll "Nicht gefunden" angezeigt werden, wenn das Suchkriterium / der String in der anderen Datei nicht gefunden wurde.
Danke schon mal im Voraus für eure Hilfe. :)
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA SVERWEIS - Suchkriterium Blank anstatt 0
11.08.2018 11:25:27
SF
Hola,
eine 0 erscheint, wenn das Suchkriterium in Spalte A gefunden wird, Spalte B in dieser Zeile aber leer ist.
Ansonsten: =wenn(C7="";"";wennfehler(Sverweis........
Gruß,
steve1da
AW: VBA SVERWEIS - Suchkriterium Blank anstatt 0
11.08.2018 11:31:03
Daniel
Hi
Formeln müssen einen Wert anzeigen.
Wenn du mit einer Formel auf eine echte Leerzelle verweist, dann muss die Formel einen Alternativwert ausgeben.
Da Excel ein Rechenprogramm ist und kein Textprogramm, hat sich MS dazu entschlossen, in diesem Fall die 0 als Ergebnis auszugeben.
wenn das Unerwünscht ist, gibst folgende Möglichkeiten:
a) man verweist mit dem Sverweis auf eine Spalte die Texte enthält
dann kann man das Problem ganz einfach lösen, in dem man dem SVerweis ein &"" anhängt.
damit ist das ganze Text und es wird bei verweis auf eine Leerzelle der Leerstring ausgeben.
b) man verweist auf eine Spalte, die Zahlen oder Zahlen und Text gemischt enthält.
dann darf man nicht einfach &"" anhängen, denn das würde die Zahlen in Text wandeln. hier gibts zwei möglichkeiten:
- die Null stört nur optisch und nicht funktional: dann kann man Nullwerte ausblenden, entweder für das ganze Blatt über die erweiterten Optionen oder über ein Benutzerdefiniertes Zahlenformat: Standard;Standard;
im benutzerdefinierten Zahlenformat steht der erste Wert für das Anzeigeformat der Positiven Zahlen, der zweite Wert für das Anzeigeformat der negativen Zahlen und er dritte Wert für das Anzeigeformat der 0. Da hier der dritte wert explizit nicht angegeben ist (nach dem zweiten Semikolon steht nichts), wird die 0 nicht angezeigt.
- die Null stört, es soll der Text Leerstring angezeigt werden.
dann muss man die Formel so erweiteren: =Wenn(SVerweis(...)="";"";SVerweis(...)) was den Nachteil hat, dass du die doppelte Rechenzeit bekommst.
Gruß Daniel
Anzeige
AW: VBA SVERWEIS - Suchkriterium Blank anstatt 0
11.08.2018 14:53:40
Luggas
Perfekt, genau das was ich gesucht habe.
Der SVERWEIS kann ruhig auf Text verwiesen werden, das stellt in meinem Fall kein Problem dar, demnach verwende ich nun die von dir vorgeschlagene Variante a.
Vielen Dank für deine Hilfe.
AW: VBA SVERWEIS - Suchkriterium Blank anstatt 0
13.08.2018 06:25:19
luggas
Hi,
ich hätte hierzu nochmals eine Frage.
Ich wollte dies nun mithilfe von VBA umsetzen, leider hat das nicht ganz so geklappt, was ich versucht habe ist folgendes:
Sub reset1()
Range("E7").Select
ActiveCell.FormulaLocal =
"=WENNFEHLER(SVERWEIS(C7;[test.xls]tabelle1!$A:$B;2;0);"">>"")" & ""
End Sub
Das

& ""
wird einfach ignoriert, ich habe hiervon ein paar Varianten versucht, leider alle erfolglos.
Weißt du vllt. weiter?
Danke.
Anzeige
AW: VBA SVERWEIS - Suchkriterium Blank anstatt 0
13.08.2018 08:20:00
Hajo_Zi

Option Explicit
Sub reset1()
Range("E7").FormulaLocal = _
"=WENNFEHLER(SVERWEIS(C7;[test.xls]tabelle1!$A:$B;2;0);"""")"
End Sub
Select, Activate usw. ist in VBA zu 99,8% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Der Cursor ist kein Hund, der überall rum geführt werden muss.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: VBA SVERWEIS - Suchkriterium Blank anstatt 0
13.08.2018 11:22:15
Daniel
Hi
Das &"" muss als Formeltext in der Formel auftauchen. Du hängst hier nur nichts (Leerstring) an die Formel an.
Schreibs Mal direkt zum SVerweis.
 Sub reset1()
Range("E7").Select
ActiveCell.FormulaLocal =
"=WENNFEHLER(SVERWEIS(C7;[test.xls]tabelle1!$A:$B;2;0)&"""";"">"")"
End Sub
Gruß Daniel
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

SVERWEIS in Excel: Umgang mit leeren Zellen und Fehlern


Schritt-für-Schritt-Anleitung

Um den SVERWEIS in Excel so anzupassen, dass er anstelle einer 0 ein leeres Feld ("") anzeigt, wenn das Suchkriterium leer ist, kannst du folgende Formel verwenden:

=WENN(C7="";"";WENNFEHLER(SVERWEIS(C7;'[test.xls]tabelle1'!$A$1:$B$65536;2;0);"Nicht gefunden"))
  1. Prüfe auf leere Zelle: WENN(C7="";"";...) stellt sicher, dass, wenn C7 leer ist, eine leere Zeichenkette zurückgegeben wird.
  2. SVERWEIS anwenden: Der SVERWEIS wird nur ausgeführt, wenn C7 einen Wert hat.
  3. Fehlerbehandlung: Mit WENNFEHLER(...;"Nicht gefunden") wird der Fehler behandelt, falls das Suchkriterium nicht gefunden wird.

Häufige Fehler und Lösungen

  • 0 wird angezeigt: Dies kann passieren, wenn das Suchkriterium in der Quelle vorhanden ist, aber die Zelle, auf die verwiesen wird, leer ist. Um dies zu umgehen, verwende die oben genannte Formel.

  • Formel wird nicht korrekt interpretiert: Wenn du mit VBA arbeitest und eine Formel einfügst, stelle sicher, dass du die richtigen Anführungszeichen verwendest. Zum Beispiel:

Range("E7").FormulaLocal = "=WENNFEHLER(SVERWEIS(C7;[test.xls]tabelle1!$A:$B;2;0);"""")"

Hier wird """" verwendet, um ein leeres Feld zurückzugeben.


Alternative Methoden

  1. Benutzerdefinierte Zahlenformate: Du kannst Standard;Standard; verwenden, um die Anzeige von 0 zu unterdrücken.
  2. Verwendung von ISBLANK: Du kannst die Funktion ISBLANK verwenden, um zu prüfen, ob eine Zelle leer ist:
=WENN(ISBLANK(C7);"";WENNFEHLER(SVERWEIS(C7;'[test.xls]tabelle1'!$A$1:$B$65536;2;0);"Nicht gefunden"))

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung des SVERWEIS:

  1. Datenlookup: Angenommen, du hast eine Tabelle mit Produkten und Preisen. Du möchtest den Preis eines Produkts suchen, das möglicherweise nicht existiert:
=WENN(ISBLANK(A2);"";WENNFEHLER(SVERWEIS(A2;'Produkte'!$A$1:$B$100;2;0);"Nicht gefunden"))
  1. VBA für automatisierte SVERWEIS: Eine VBA-Routine, die den SVERWEIS an mehreren Zellen anwendet:
Sub AutomatischerSVERWEIS()
    Dim i As Integer
    For i = 1 To 100
        Cells(i, 2).Formula = "=WENNFEHLER(SVERWEIS(A" & i & ";'Produkte'!$A$1:$B$100;2;0);""Nicht gefunden"")"
    Next i
End Sub

Tipps für Profis

  • Verwende VBA effizient: Vermeide die Verwendung von Select und Activate, um deinen Code schneller und effizienter zu gestalten.

  • Optimierung der Formel: Wenn du viele SVERWEIS-Formeln verwendest, könnte die Nutzung eines Hilfsbereichs, der die Daten vorverarbeitet, die Geschwindigkeit erhöhen.

  • Achte auf Datenformate: Wenn du mit gemischten Daten (Text und Zahlen) arbeitest, achte darauf, dass die Formate übereinstimmen, um unerwartete Ergebnisse zu vermeiden.


FAQ: Häufige Fragen

1. Was kann ich tun, wenn mein SVERWEIS immer 0 zurückgibt?
Überprüfe, ob das Suchkriterium in der Datenquelle vorhanden ist und ob die Zelle, auf die verwiesen wird, leer ist. Verwende die oben genannten Formeln, um dies zu handhaben.

2. Wie kann ich sicherstellen, dass mein VBA-Code die richtige Formel einfügt?
Achte darauf, die richtigen Anführungszeichen in der Formel zu verwenden. Teste den Code regelmäßig, um sicherzustellen, dass die Formel korrekt interpretiert wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige