Excel Add-Ins entwickeln und verteilen
Lesezeit: 13 Min. | VBA-Programmierung
Excel Add-Ins (.xlam) sind professionelle Erweiterungen die in jeder Excel-Datei verfügbar sind. Perfekt für Makro-Sammlungen, Custom Functions und Unternehmens-Tools. Dieser Guide zeigt den kompletten Prozess von Entwicklung bis Verteilung.
Was sind Add-Ins (.xlam)?
Add-In vs. normale Arbeitsmappe:
- ✅ Lädt automatisch beim Excel-Start
- ✅ Funktionen verfügbar in ALLEN Arbeitsmappen
- ✅ Unsichtbar (keine Tabs)
- ✅ Zentrale Updates möglich
Add-In-Projekt erstellen
Schritt 1: Normale Arbeitsmappe vorbereiten
- Neue Excel-Datei erstellen
- VBA-Code schreiben (Module, UserForms, Klassen)
- Testen!
Schritt 2: Als Add-In speichern
- Datei → Speichern unter
- Dateityp: Excel-Add-In (*.xlam)
- Standard-Pfad: C:\Users\NAME\AppData\Roaming\Microsoft\AddIns
Ribbon anpassen (Custom UI)
Fügen Sie eigene Buttons ins Excel-Ribbon hinzu!
Custom UI Editor nutzen
Download: "Custom UI Editor for Microsoft Office"
- Add-In in Custom UI Editor öffnen
- Insert → Office 2010 Custom UI Part
- XML-Code einfügen:
<customUI xmlns="...">
<ribbon>
<tabs>
<tab id="MeinTab" label="Meine Tools">
<group id="grp1" label="Funktionen">
<button id="btn1" label="Daten importieren"
onAction="DatenImportieren"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
<ribbon>
<tabs>
<tab id="MeinTab" label="Meine Tools">
<group id="grp1" label="Funktionen">
<button id="btn1" label="Daten importieren"
onAction="DatenImportieren"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
VBA-Callback implementieren
Sub DatenImportieren(control As IRibbonControl)
MsgBox "Import gestartet!"
' Ihr Code hier
End Sub
MsgBox "Import gestartet!"
' Ihr Code hier
End Sub
Auto-Load beim Excel-Start
Methode 1: Excel-Optionen
- Datei → Optionen → Add-Ins
- Verwalten: Excel-Add-Ins → Los
- Durchsuchen → Ihr .xlam wählen
- Häkchen setzen → OK
Add-In lädt jetzt automatisch!
Methode 2: Registry (für Unternehmens-Rollout)
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options
OPEN: /R "C:\Pfad\MeinAddIn.xlam"
OPEN: /R "C:\Pfad\MeinAddIn.xlam"
Add-In verteilen
Netzlaufwerk
- Add-In auf Netzlaufwerk kopieren
- Benutzer: Add-Ins → Durchsuchen → Netzlaufwerk
- Updates: Datei überschreiben → Excel neu starten
E-Mail-Verteilung
- .xlam per E-Mail versenden
- Anleitung mitschicken:
- Datei in AddIns-Ordner kopieren
- Excel-Optionen → Add-Ins → Aktivieren
Versionierung und Updates
Public Const VERSION As String = "1.2.0"
Sub Auto_Open()
Debug.Print "Add-In v" & VERSION & " geladen"
PrüfeAufUpdates
End Sub
Sub PrüfeAufUpdates()
Dim serverVersion As String
serverVersion = GetServerVersion() ' Von Netzlaufwerk lesen
If serverVersion > VERSION Then
MsgBox "Neue Version verfügbar: " & serverVersion, vbInformation
End If
End Sub
Sub Auto_Open()
Debug.Print "Add-In v" & VERSION & " geladen"
PrüfeAufUpdates
End Sub
Sub PrüfeAufUpdates()
Dim serverVersion As String
serverVersion = GetServerVersion() ' Von Netzlaufwerk lesen
If serverVersion > VERSION Then
MsgBox "Neue Version verfügbar: " & serverVersion, vbInformation
End If
End Sub
Praxisbeispiel: Toolbar mit Makros
Ziel: Sammlung häufig genutzter Makros in eigenem Tab
Makros im Add-In:
Sub ZellenFormatieren()
Selection.Font.Bold = True
Selection.Interior.Color = RGB(255, 255, 0)
End Sub
Sub DatensatzLöschen()
Selection.EntireRow.Delete
End Sub
Sub ExportNachPDF()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
End Sub
Selection.Font.Bold = True
Selection.Interior.Color = RGB(255, 255, 0)
End Sub
Sub DatensatzLöschen()
Selection.EntireRow.Delete
End Sub
Sub ExportNachPDF()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
End Sub
Ribbon XML:
<tab id="MyTools" label="Tools">
<group label="Formatierung">
<button label="Markierung" onAction="ZellenFormatieren"/>
</group>
<group label="Daten">
<button label="Zeile löschen" onAction="DatensatzLöschen"/>
</group>
</tab>
<group label="Formatierung">
<button label="Markierung" onAction="ZellenFormatieren"/>
</group>
<group label="Daten">
<button label="Zeile löschen" onAction="DatensatzLöschen"/>
</group>
</tab>
Fazit
Excel Add-Ins professionalisieren Ihre VBA-Tools:
- ✅ Zentrale Verteilung
- ✅ Automatisches Laden
- ✅ Custom Ribbon
- ✅ Einfache Updates