Verwenden von Arbeitsblattfunktionen in einem Makro - VBA-Codebeispiele

Es gibt viele Möglichkeiten, Funktionen in VBA zu verwenden. VBA wird mit vielen integrierten Funktionen geliefert. Sie können sogar Ihre eigenen Funktionen (UDFs) erstellen. Sie können jedoch auch viele Funktionen von Excel in VBA verwenden, indem Sie Application.WorksheetFunction verwenden.

So verwenden Sie Arbeitsblattfunktionen in VBA

Um auf eine Excel-Funktion in VBA zuzugreifen, fügen Sie Application.WorksheetFunction vor der Funktion hinzu, die Sie aufrufen möchten. Im folgenden Beispiel rufen wir die Max-Funktion von Excel auf:

12 Maximalwert so lang dimmenmaxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

Die Syntax der Funktionen ist dieselbe, jedoch geben Sie die Funktionsargumente wie bei jeder anderen VBA-Funktion ein.

Beachten Sie, dass die Syntax der Max-Funktion bei der Eingabe angezeigt wird (ähnlich wie bei VBA-Funktionen):

ArbeitsblattFunktionsmethode

WorksheetFunction ist eine Methode des Application-Objekts. Es ermöglicht Ihnen den Zugriff auf viele (nicht alle) der standardmäßigen Excel-Arbeitsblattfunktionen. Im Allgemeinen erhalten Sie keinen Zugriff auf Arbeitsblattfunktionen, die über eine entsprechende VBA-Version verfügen.

Unten sehen Sie eine Liste mit vielen der gebräuchlichsten Arbeitsblattfunktionen.

Anwendung.ArbeitsblattFunktion vs. Anwendung

Es gibt eigentlich zwei Möglichkeiten, auf diese Funktionen zuzugreifen:

Application.WorksheetFunction (wie oben zu sehen):

1 maxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

oder Sie können die WorksheetFunction weglassen

1 maxvalue = Application.Max(Range("a1").Value, Range("a2").Value)

Leider wird durch das Weglassen der WorksheetFunction der Intellisense eliminiert, der die Syntax anzeigt (siehe Abbildung oben). Es hat jedoch einen großen potentiellen Vorteil: Fehlerbehandlung.

Wenn Sie Application verwenden und Ihre Funktion einen Fehler generiert, gibt sie den Fehlerwert zurück. Wenn Sie die WorksheetFunction-Methode verwenden, löst VBA einen Laufzeitfehler aus. Natürlich können Sie den VBA-Fehler behandeln, aber es ist normalerweise besser, den Fehler von vornherein zu vermeiden.

Schauen wir uns ein Beispiel an, um den Unterschied zu sehen:

Vlookup-ArbeitsblattFunktionsfehlerbehandlung

Wir werden versuchen, ein Vlookup durchzuführen, das zu keiner Übereinstimmung führt. Die Vlookup-Funktion gibt also einen Fehler zurück.

Zuerst verwenden wir die WorksheetFunction-Methode. Beachten Sie, wie VBA einen Fehler auslöst:

Als nächstes lassen wir die WorksheetFunction weg. Beachten Sie, wie die

Als nächstes werden wir die WorksheetFunction weglassen. Beachten Sie, dass kein Fehler ausgegeben wird und stattdessen die Funktion "Wert" den Fehlerwert aus dem Vlookup enthält.

Liste der VBA-Arbeitsblattfunktionen

Unten finden Sie eine Liste der meisten gebräuchlichen VBA-Arbeitsblattfunktionen.

FunktionBeschreibung
Logisch
UNDPrüft, ob alle Bedingungen erfüllt sind. WAHR FALSCH
WENNWenn die Bedingung erfüllt ist, tun Sie etwas, wenn nicht, tun Sie etwas anderes.
WENNFEHLERWenn das Ergebnis ein Fehler ist, tun Sie etwas anderes.
ODERPrüft, ob Bedingungen erfüllt sind. WAHR FALSCH
Nachschlagen & Referenz
WÄHLENWählt einen Wert aus einer Liste basierend auf seiner Positionsnummer.
HVERWEISSuchen Sie einen Wert in der ersten Zeile und geben Sie einen Wert zurück.
INDEXGibt einen Wert basierend auf seinen Spalten- und Zeilennummern zurück.
SCHAU HOCHSucht Werte entweder horizontal oder vertikal nach.
SPIELSucht nach einem Wert in einer Liste und gibt seine Position zurück.
TRANSPOSIERENKehrt die Ausrichtung eines Zellbereichs um.
SVERWEISSuchen Sie einen Wert in der ersten Spalte und geben Sie einen Wert zurück.
Terminzeit
DATUMGibt ein Datum aus Jahr, Monat und Tag zurück.
DATUMWERTWandelt ein als Text gespeichertes Datum in ein gültiges Datum um
TAGGibt den Tag als Zahl zurück (1-31).
TAGE360Gibt Tage zwischen 2 Daten in einem 360-Tage-Jahr zurück.
EDATUMGibt ein Datum zurück, das n Monate vom Startdatum entfernt ist.
EOMONTHGibt den letzten Tag des Monats zurück, n Monate entfernt.
STUNDEGibt die Stunde als Zahl zurück (0-23).
MINUTEGibt die Minute als Zahl zurück (0-59).
MONATGibt den Monat als Zahl (1-12) zurück.
NETZWERKTAGEAnzahl der Arbeitstage zwischen 2 Terminen.
NETWORKDAYS.INTLWerktage zwischen 2 Terminen, benutzerdefinierte Wochenenden.
JETZTGibt das aktuelle Datum und die aktuelle Uhrzeit zurück.
SEKUNDEGibt die Sekunde als Zahl zurück (0-59)
ZEITGibt die Zeit aus einer Stunde, Minute und Sekunde zurück.
ZEITWERTWandelt eine als Text gespeicherte Zeit in eine gültige Zeit um.
WOCHENTAGGibt den Wochentag als Zahl (1-7) zurück.
WOCHENNUMMERGibt die Wochennummer in einem Jahr (1-52) zurück.
WERKTAGDas Datum n Arbeitstage ab einem Datum.
JAHRGibt das Jahr zurück.
JAHRFRACGibt den Bruchteil eines Jahres zwischen 2 Daten zurück.
Maschinenbau
KONVERTIERENKonvertieren Sie die Zahl von einer Einheit in eine andere.
Finanziell
FVBerechnet den zukünftigen Wert.
PVBerechnet den Barwert.
NPERBerechnet die Gesamtzahl der Zahlungsperioden.
PMTBerechnet den Zahlungsbetrag.
BEWERTUNGBerechnet den Zinssatz.
BarwertBerechnet den Nettobarwert.
IRRDie interne Rendite für eine Reihe von periodischen CFs.
XIRRDer interne Zinsfuß für eine Reihe von nicht periodischen CF.
PREISBerechnet den Preis einer Anleihe.
EINTRAGENDer Zinssatz eines voll investierten Wertpapiers.
Information
ISERRTesten, ob der Zellenwert ein Fehler ist, ignoriert #N/A. WAHR FALSCH
ISFEHLERTesten Sie, ob der Zellenwert ein Fehler ist. WAHR FALSCH
ISEVENTesten Sie, ob der Zellenwert gerade ist. WAHR FALSCH
ISLOGISCHTesten Sie, ob die Zelle logisch ist (WAHR oder FALSCH). WAHR FALSCH
ISNATesten Sie, ob der Zellenwert #N/A ist. WAHR FALSCH
ISNONTEXTTesten Sie, ob die Zelle kein Text ist (leere Zellen sind kein Text). WAHR FALSCH
IST NUMMERTesten Sie, ob Zelle eine Zahl ist. WAHR FALSCH
IST UNGERADETesten Sie, ob der Zellenwert ungerade ist. WAHR FALSCH
ISTEXTTesten Sie, ob die Zelle Text ist. WAHR FALSCH
TYPGibt den Werttyp in einer Zelle zurück.
Mathematik
AbsBerechnet den Absolutwert einer Zahl.
AGGREGATDefinieren und führen Sie Berechnungen für eine Datenbank oder eine Liste durch.
DECKERundet eine Zahl auf das nächste angegebene Vielfache auf.
COSGibt den Kosinus eines Winkels zurück.
GRADWandelt Radiant in Grad um.
DSUMSummiert Datenbankeinträge, die bestimmte Kriterien erfüllen.
SOGARRundet auf die nächste gerade ganze Zahl.
EXPBerechnet den Exponentialwert für eine gegebene Zahl.
TATSACHEGibt die Fakultät zurück.
BODENRundet eine Zahl auf das nächste angegebene Vielfache ab.
GCDGibt den größten gemeinsamen Teiler zurück.
INTRundet eine Zahl auf die nächste ganze Zahl ab.
LCMGibt das kleinste gemeinsame Vielfache zurück.
LNGibt den natürlichen Logarithmus einer Zahl zurück.
PROTOKOLLGibt den Logarithmus einer Zahl zu einer angegebenen Basis zurück.
LOG10Gibt den Logarithmus zur Basis 10 einer Zahl zurück.
MROUNDRundet eine Zahl auf ein angegebenes Vielfaches.
SELTSAMRundet auf die nächste ungerade ganze Zahl.
PIDer Wert von PI.
ENERGIEBerechnet eine potenzierte Zahl.
PRODUKTMultipliziert ein Array von Zahlen.
QUOTIENTGibt das ganzzahlige Ergebnis der Division zurück.
RADIANSWandelt einen Winkel in Bogenmaß um.
RANDZWISCHENBerechnet eine Zufallszahl zwischen zwei Zahlen.
RUNDENRundet eine Zahl auf eine angegebene Anzahl von Stellen.
ABRUNDENRundet eine Zahl ab (gegen Null).
ZUSAMMENFASSENRundet eine Zahl auf (von Null weg).
SÜNDEGibt den Sinus eines Winkels zurück.
ZWISCHENSUMMEGibt eine zusammenfassende Statistik für eine Reihe von Daten zurück.
SUMMEFügt Zahlen zusammen.
SUMIFSummiert Zahlen, die ein Kriterium erfüllen.
SUMIFESummiert Zahlen, die mehrere Kriterien erfüllen.
SUMMENPRODUKTMultipliziert Arrays von Zahlen und summiert das resultierende Array.
BRÄUNENGibt den Tangens eines Winkels zurück.
Statistiken
DURCHSCHNITTDurchschnitte Zahlen.
MITTELWERTWENNDurchschnittliche Zahlen, die ein Kriterium erfüllen.
MITTELWERTIFSErmittelt Zahlen, die mehrere Kriterien erfüllen.
KORRELBerechnet die Korrelation zweier Reihen.
ZÄHLENZählt Zellen, die eine Zahl enthalten.
ANZAHLZählen Sie Zellen, die nicht leer sind.
COUNTBLANKZählt Zellen, die leer sind.
ZÄHLENWENNZählt Zellen, die ein Kriterium erfüllen.
ZÄHLERZählt Zellen, die mehrere Kriterien erfüllen.
VORHERSAGEVorhersage zukünftiger y-Werte anhand der linearen Trendlinie.
FREQUENZZählt Werte, die in die angegebenen Bereiche fallen.
WACHSTUMBerechnet Y-Werte basierend auf exponentiellem Wachstum.
ABFANGENBerechnet den Y-Achsenabschnitt für eine Best-Fit-Gerade.
GROSSGibt den k-größten Wert zurück.
LINESTGibt Statistiken zu einer Trendlinie zurück.
MAXGibt die größte Zahl zurück.
MEDIANGibt die Medianzahl zurück.
MINDESTGibt die kleinste Zahl zurück.
MODUSGibt die häufigste Zahl zurück.
PERZENTILGibt das k-te Perzentil zurück.
PERZENTIL.INCGibt das k-te Perzentil zurück. Wobei k inklusive ist.
PROZENTIL.EXCGibt das k-te Perzentil zurück. Wobei k exklusiv ist.
QUARTILGibt den angegebenen Quartilwert zurück.
QUARTILE.INCGibt den angegebenen Quartilwert zurück. Inklusive.
QUARTILE.EXCGibt den angegebenen Quartilwert zurück. Exklusiv.
RANGRang einer Zahl innerhalb einer Reihe.
RANG.AVGRang einer Zahl innerhalb einer Reihe. Durchschnitte.
RANG.EQRang einer Zahl innerhalb einer Reihe. Top-Rang.
NEIGUNGBerechnet die Steigung aus der linearen Regression.
KLEINGibt den k-kleinsten Wert zurück.
STABWBerechnet die Standardabweichung.
STABW.PBerechnet die SD einer gesamten Population.
STABW.SBerechnet die SD einer Probe.
STABW.Berechnet die SD einer gesamten Population
TRENDBerechnet Y-Werte basierend auf einer Trendlinie.
Text
SAUBEREntfernt alle nicht druckbaren Zeichen.
DOLLARKonvertiert eine Zahl in Text im Währungsformat.
FINDENSucht die Textposition innerhalb einer Zelle. Groß-/Kleinschreibung wird beachtet.
LINKSSchneidet Text um eine Reihe von Zeichen von links ab.
LENZählt die Anzahl der Zeichen im Text.
MITTEExtrahiert Text aus der Mitte einer Zelle.
RICHTIGWandelt Text in die richtige Groß-/Kleinschreibung um.
ERSETZENErsetzt Text basierend auf seiner Position.
REPTWiederholt den Text mehrmals.
RECHTSSchneidet Text um eine Reihe von Zeichen von rechts ab.
SUCHESucht die Textposition innerhalb einer Zelle. Groß-/Kleinschreibung wird nicht beachtet.
ERSATZSucht und ersetzt Text. Groß-/Kleinschreibung beachten.
TEXTWandelt einen Wert in Text mit einem bestimmten Zahlenformat um.
TRIMMENEntfernt alle zusätzlichen Leerzeichen aus dem Text.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave