Excel Add-Ins

Ein Excel-Add-In ist eine Datei (normalerweise mit der Erweiterung .xla oder .xlam), die Excel beim Start laden kann. Die Datei enthält VBA-Code, der Excel zusätzliche Funktionen hinzufügt, normalerweise in Form neuer Funktionen.

Add-Ins bieten eine hervorragende Möglichkeit, die Leistung von Excel zu steigern, und sind das ideale Mittel, um Ihre benutzerdefinierten Funktionen zu verteilen. Excel wird mit einer Vielzahl von Add-Ins geliefert, die Sie laden und verwenden können. Viele Add-Ins von Drittanbietern sind ebenfalls verfügbar.

In diesem Artikel erfahren Sie, wie Sie eine benutzerdefinierte Funktion mit Excel VBA schreiben und als Add-In speichern und installieren. Benutzerdefinierte Funktionen werden häufig als UDFs (User Defined Functions) bezeichnet.

Schreiben der benutzerdefinierten Funktion

Ein Add-In kann so viele UDFs (User Defined Functions) enthalten, wie Sie möchten, und Sie können in letzter Zeit weitere hinzufügen, indem Sie einfach die Add-In-Datei öffnen und bearbeiten.

Schritt 1: Fügen Sie einer neuen Arbeitsmappe ein Codemodul hinzu

  1. Starten Sie Excel oder erstellen Sie eine neue leere Arbeitsmappe, wenn Sie Excel bereits geöffnet haben.

  2. Öffnen Sie den Visual Basic-Editor auf der Registerkarte Entwickler. Wechseln Sie zur Registerkarte Entwickler.

  3. Klicken Sie auf Visual Basic (Tasten: ALT + F11), um den Visual Basic-Editor zu öffnen.

  4. Wählen Sie im Visual Basic-Editor im Projektexplorer die Option VBAProject aus. Dadurch wird die leere Arbeitsmappe ausgewählt.

Wenn der Projektexplorer nicht sichtbar ist, öffnen Sie ihn unter Ansicht> Projektexplorer.

  1. Wählen Sie im Menü Einfügen die Option Modul. Dadurch wird der ausgewählten Arbeitsmappe ein neues leeres Codemodul hinzugefügt. Sie sehen das Modul auch im Projekt-Explorer.

ArrowAddingModule

Schritt 2: Geben Sie den Code der benutzerdefinierten Funktion

ein Geben Sie im Codefenster den Code der benutzerdefinierten Altersfunktion

ArrowAddingUDFCode

ein

Schritt 3: Testen Sie die Funktion

Sie können die Funktion sofort ausprobieren. Wechseln Sie zu Excel und geben Sie in Ihre leere Arbeitsmappe (dieselbe, mit der Sie das Codemodul der Funktion erstellen) ein Datum in eine Zelle ein. Geben Sie in einer anderen Zelle Ihre Funktion auf die gleiche Weise ein, wie Sie eine der in Excel integrierten Funktionen verwenden würden, z. = Alter (A1)

ArrowTestingFunction

Eine UDF steht allen geöffneten Arbeitsmappen zur Verfügung, wenn ihre Host-Arbeitsmappe (die Arbeitsmappe mit dem Codemodul der UDF) geöffnet ist. Wenn Sie jedoch die Host-Arbeitsmappe schließen und versuchen, die Funktion in einer anderen Arbeitsmappe zu verwenden, tritt ein Fehler auf. Die andere Arbeitsmappe kann die Funktion nicht finden, also der #NAME? Fehler erscheint.

Um einen Begegnungsfehler zu überwinden, sollte UDF in einem Excel-Add-In deklariert und der Excel-Anwendung ein Excel-Add-In zugewiesen werden.

Erstellen eines Excel-Add-Ins

Speichern Sie die Arbeitsmappe als Add-In

Die Arbeitsmappe mit Ihrem Codemodul muss jetzt als Excel-Add-In-Datei (.xla oder .xlam) gespeichert werden.

Gehen Sie im Excel-Fenster zu Datei> Speichern, um das Dialogfeld Speichern unter zu öffnen. Geben Sie einen Namen für Ihre Add-In-Datei ein (es gelten die üblichen Regeln für die Benennung von Dateien) und ändern Sie den Dateityp mit der Option Dateityp: in Microsoft Excel-Add-In (.xla) oder (.xlam).

Bevor Sie auf [OK] klicken, überprüfen Sie den Speicherort, an dem Sie die Add-In-Datei speichern.

Klicken Sie abschließend auf [OK], um Ihre Änderungen zu akzeptieren. Ihr Add-In ist jetzt zur Installation bereit und kann bei Bedarf an andere Benutzer verteilt werden.

ArrowSavingAddin

Installieren des Add-Ins

Gehen Sie zu Extras> Add-Ins, um das Dialogfeld Add-Ins zu öffnen. Wenn Sie Ihr Add-In am Standardspeicherort gespeichert haben, wird sein Name im Fenster Verfügbare Add-Ins angezeigt: (Wenn Sie Ihr Add-In in einem anderen Ordner gespeichert haben, verwenden Sie die Schaltfläche [Durchsuchen], um es zu finden ).

Um Ihr Add-In zu installieren, aktivieren Sie das Kontrollkästchen neben dem Namen Ihres Add-Ins und klicken Sie auf [OK].

ArrowInstallingAddin

Sobald das Add-In installiert ist, sind seine Funktionen in Excel verfügbar. Suchen Sie sie im Abschnitt Benutzerdefiniert des Funktionsassistenten (Funktionstool einfügen) oder geben Sie sie einfach wie eine integrierte Funktion in eine Zelle ein. Das Add-In bleibt installiert, bis Sie zum Dialogfeld Add-Ins zurückkehren und es deinstallieren, indem Sie das Häkchen aus dem Kontrollkästchen entfernen.

UDF hinzufügen und Änderungen an einem Add-In vornehmen

Ihre Add-In-Datei kann beliebig viele Module und benutzerdefinierte Funktionen enthalten. Sie können sie jederzeit hinzufügen.

Wenn Ihr Add-In installiert ist, wird es im Projektexplorer des VB-Editors aufgelistet. Suchen Sie das Modul mit Ihren Funktionen und nehmen Sie die gewünschten Ergänzungen und Änderungen vor. Wenn Ihr Add-In nicht installiert ist, suchen Sie die Add-In-Datei und doppelklicken Sie darauf, um sie in Excel zu öffnen. Sie können es nicht im Excel-Fenster sehen, aber es wird im Projektexplorer des VB-Editors angezeigt.

Denken Sie daran, Ihre Änderungen zu speichern! Führen Sie dies im VB-Editorfenster mit Datei> Speichern aus.

Bitte folgen Sie unten für den Code

'Insert below code in Addin

Option Explicit



Function Age(DoB As Date)

'Gives a name to the function and declares that a single argument is needed, which must be a date.

'Checking whether Date of Birth is zero

If DoB = 0 Then

Age = "type the correct Date of Birth"

Else

'If Date of Birth is not zero, compare the current month value with the Date of Birth

Select Case Month(Date)

'If current month is before (i.e. less than) the month of date of birth,

'then they have not had their birthday, so their age is this year minus their birth year minus 1

Case Is < Month(DoB)

Age = (Year(Date) - Year(DoB)) - 1

'If current month is same as the month of date of birth

'we need to know whether or not they have had their birthday yet

Case Is = Month(DoB)

'If today date is equal to or past the day of their birthday,

'then they have had their birthday (or it is today)

'so their age is this year minus their birth year?

'otherwise their age is this year minus their birth year minus 1

If Day(Date) >= Day(DoB) Then

Age = Year(Date) - Year(DoB)

Else

Age = Year(Date) - Year(DoB) - 1

End If

'If today?s month is after (i.e. greater than) the month of the person?s date of birth,

'they have had their birthday, so their age is this year minus their birth year.

Case Is > Month(DoB)

Age = Year(Date) - Year(DoB)

'Close the CASE statement

End Select

'Close the IF statement

End If



'Close the Function

End Function

Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]