Tutorial: Excel-Formular mit „Absenden“-Button erstellen und per E-Mail versenden

Melden

Hier ist ein ausführliches Tutorial, wie du in Excel ein ausfüllbares Formular erstellst und eine Schaltfläche einfügst, die das Formular automatisch per E-Mail versendet.

Excel bietet keine standardmäßige „Senden“-Funktion für Formulare. Um dies zu realisieren, nutzen wir eine Kombination aus den Entwicklertools und einem kleinen VBA-Skript (Makro).


Schritt 1: Das Formular-Layout erstellen

Bevor du die Technik einbaust, gestalte dein Formular.

  1. Öffne ein neues Excel-Arbeitsblatt.
  2. Erstelle Felder wie „Name“, „Datum“, „Anfrage“ usw.
  3. Tipp: Markiere die Eingabezellen farblich (z. B. hellblau), damit der Nutzer weiß, wo er etwas eintragen muss.
  4. Um das Formular professioneller zu machen, kannst du unter dem Reiter Ansicht die Gitternetzlinien ausschalten.

Schritt 2: Die Registerkarte „Entwicklertools“ aktivieren

Um Schaltflächen und Makros zu nutzen, benötigst du das Menüband für Entwickler.

  1. Klicke mit der rechten Maustaste auf eine beliebige Stelle im Menüband (oben).
  2. Wähle Menüband anpassen.
  3. Setze auf der rechten Seite ein Häkchen bei Entwicklertools.
  4. Klicke auf OK.

Schritt 3: Den „Absenden“-Button einfügen

  1. Gehe zum Reiter Entwicklertools.
  2. Klicke auf Einfügen und wähle unter ActiveX-Steuerelemente die Befehlsschaltfläche (Button).
  3. Ziehe mit der Maus die Schaltfläche an die gewünschte Stelle in deinem Formular.
  4. Rechtsklick auf den Button -> Eigenschaften.
  5. Ändere unter Caption den Text in „Formular absenden“.
  6. Schließe das Eigenschaften-Fenster.

Schritt 4: Den VBA-Code hinzufügen

Damit der Button weiß, was er tun soll (nämlich eine E-Mail senden), hinterlegen wir einen Code.

  1. Mache einen Doppelklick auf deinen neuen Button (du befindest dich nun im VBA-Editor).
  2. Kopiere den folgenden Code und füge ihn zwischen Private Sub CommandButton1_Click() und End Sub ein:
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

' Nachrichtentext definieren
strbody = "Hallo," & vbNewLine & vbNewLine & _
          "anbei erhältst du das ausgefüllte Formular." & vbNewLine & _
          "Beste Grüße"

On Error Resume Next
With OutMail
    .To = "deine-email@beispiel.de" ' <-- HIER DEINE E-MAIL EINTRAGEN
    .CC = ""
    .BCC = ""
    .Subject = "Neues Formular eingegangen: " & Range("B2").Value ' Bezieht Betreff aus Zelle B2
    .Body = strbody
    .Attachments.Add Me.Parent.FullName ' Fügt die aktuelle Datei als Anhang hinzu
    .Display ' Nutze .Send statt .Display, wenn die Mail sofort ohne Vorschau rausgehen soll
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
  1. Wichtig: Ändere im Code die Zeile .To = "deine-email@beispiel.de" in deine tatsächliche E-Mail-Adresse.
  2. Schließe das VBA-Fenster (einfach oben auf das X klicken).

Schritt 5: Den Entwurfsmodus verlassen

Damit der Button klickbar wird:

  1. Klicke im Reiter Entwicklertools auf Entwurfsmodus, um diesen zu deaktivieren.
  2. Jetzt ist der Button „scharf“ geschaltet.

Schritt 6: Die Datei richtig speichern

Da die Datei ein Makro (den VBA-Code) enthält, muss sie in einem speziellen Format gespeichert werden.

  1. Gehe auf Datei -> Speichern unter.
  2. Wähle als Dateityp unbedingt *Excel-Arbeitsmappe mit Makros (.xlsm)**.
  3. Speichere die Datei.

Funktionsweise testen

  1. Fülle deine Felder im Formular aus.
  2. Klicke auf den Button Formular absenden.
  3. Outlook öffnet sich automatisch, erstellt eine neue E-Mail mit der Excel-Datei im Anhang und trägt deine Zieladresse ein.

Hinweis: Dieses Tutorial setzt voraus, dass Microsoft Outlook auf dem Computer des Nutzers installiert und eingerichtet ist. Excel nutzt die Outlook-Schnittstelle, um die Mail zu generieren.

0