So verwenden sie ifna in vba (mit beispiel)
Sie können die IfNa- Methode in VBA verwenden, um einen bestimmten Wert zurückzugeben, wenn eine Formel einen #N/A -Fehler generiert.
Hier ist eine gängige Methode, IfNa in der Praxis zu verwenden:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
Dieses spezielle Makro versucht, mithilfe der VLOOKUP-Funktion den Wert in Zelle E2 im Bereich A2:C11 zu finden.
Wenn der Wert in Zelle E2 nicht gefunden wird, ergibt die Formel #N/A .
Wir können jedoch die IfNa- Methode verwenden, um „No Value Found“ anstelle von #N/A zurückzugeben.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Verwendung von IfNa in VBA
Nehmen wir an, wir haben den folgenden Datensatz in Excel, der Informationen über verschiedene Basketballspieler enthält:
Nehmen wir an, wir möchten den Datensatz nach dem Teamnamen „Kings“ durchsuchen und den entsprechenden Wert in der Assists-Spalte zurückgeben.
Dazu können wir das folgende Makro erstellen:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Das Makro gibt korrekterweise einen Wert von 3 Assists für die Kings zurück.
Nehmen wir nun an, wir ändern den Teamnamen in Zelle E2 in „Grizzlies“, was im Datensatz nicht vorhanden ist.
Wenn wir dieses Makro erneut ausführen, wird „Kein Wert gefunden“ zurückgegeben, da der von uns angegebene Wert zurückgegeben werden soll, wenn die VLOOKUP-Funktion zu einem #N/A-Fehler führt.
Das Makro gibt „Keine Werte gefunden“ zurück, da die Grizzlies in der Teamspalte nicht vorhanden sind.
Hinweis : Die vollständige Dokumentation der VBA- IfNa -Methode finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So verwenden Sie den Indexabgleich
VBA: So sortieren Sie ein Blatt nach mehreren Spalten
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält