Tutorial: Rechnung als neue Datei speichern, Dateiname aus Zelle generieren & Hyperlink erstellen
Melden
Hier ist ein ausführliches Tutorial, wie du in Excel ein Rechnungs-Arbeitsblatt als neue Datei speicherst, den Dateinamen aus einer Zelle generierst und automatisch einen Hyperlink zur neuen Datei erstellst.
Dieses Tutorial zeigt dir, wie du mithilfe eines einfachen VBA-Makros den Prozess der Rechnungsarchivierung automatisierst.
Voraussetzungen
- Eine Excel-Datei mit einem Rechnungs-Sheet.
- Die Datei muss als Excel Arbeitsmappe mit Makros (.xlsm) gespeichert sein.
- Ein bestimmtes Feld für die Rechnungsnummer (z. B. Zelle
B5).
Schritt 1: Den VBA-Editor öffnen
- Öffne deine Excel-Datei.
- Drücke
ALT + F11, um den VBA-Editor zu öffnen. - Gehe im Menü auf Einfügen -> Modul. Ein leeres Fenster erscheint.
Schritt 2: Den VBA-Code einfügen
Kopiere den folgenden Code und füge ihn in das neue Modulfenster ein:
Sub RechnungSpeichernUndLinkErstellen()
Dim WS As Worksheet
Dim NeuerDateiname As String
Dim Pfad As String
Dim VollerPfad As String
Dim RechnungsNummer As String
Dim LinkZelle As Range
' --- EINSTELLUNGEN ---
Set WS = ThisWorkbook.Sheets("Rechnung") ' Name deines Rechnungsblattes
RechnungsNummer = WS.Range("B5").Value ' Zelle, aus der der Dateiname generiert wird
Set LinkZelle = WS.Range("B10") ' Zelle, in der der Hyperlink erscheinen soll
Pfad = ThisWorkbook.Path & "\Rechnungsarchiv\" ' Unterordner definieren
' Prüfen, ob der Ordner existiert, falls nicht -> erstellen
If Dir(Pfad, vbDirectory) = "" Then
MkDir Pfad
End If
' Dateiname und Pfad definieren
NeuerDateiname = "Rechnung_" & RechnungsNummer & ".xlsx"
VollerPfad = Pfad & NeuerDateiname
' 1. Arbeitsblatt kopieren (erstellt automatisch eine neue Arbeitsmappe)
WS.Copy
' 2. Formeln in Werte umwandeln (optional, damit die Rechnung statisch bleibt)
With ActiveWorkbook.Sheets(1).UsedRange
.Value = .Value
End With
' 3. Neue Datei speichern und schließen
Application.DisplayAlerts = False ' Überschreiben-Warnung deaktivieren
ActiveWorkbook.SaveAs Filename:=VollerPfad, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
' 4. Hyperlink in der ursprünglichen Datei erstellen
ThisWorkbook.Activate
WS.Hyperlinks.Add Anchor:=LinkZelle, _
Address:=VollerPfad, _
TextToDisplay:="Öffne Rechnung " & RechnungsNummer
MsgBox "Rechnung erfolgreich unter " & NeuerDateiname & " gespeichert!", vbInformation
End Sub
Schritt 3: Den Code anpassen
Damit das Makro perfekt funktioniert, musst du eventuell kleine Anpassungen im Code vornehmen:
Sheets("Rechnung"): Ersetze "Rechnung" durch den tatsächlichen Namen deines Tabellenblatts.Range("B5"): Ändere dies in die Zelle, in der deine Rechnungsnummer oder der gewünschte Dateiname steht.Range("B10"): Das ist die Stelle, an der später der Link zur Datei erscheint.Pfad: Standardmäßig erstellt das Makro einen Ordner namens "Rechnungsarchiv" am selben Ort, an dem deine Excel-Datei liegt.
Schritt 4: Einen Button erstellen (Anwendung)
Damit du das Makro einfach starten kannst, erstelle eine Schaltfläche:
- Gehe in Excel auf die Registerkarte Entwicklertools (Falls nicht sichtbar: Rechtsklick auf das Menüband -> Menüband anpassen -> Entwicklertools aktivieren).
- Klicke auf Einfügen -> Schaltfläche (Formularsteuerelement).
- Zeichne einen Button auf dein Arbeitsblatt.
- Wähle im erscheinenden Fenster das Makro
RechnungSpeichernUndLinkErstellenaus und klicke auf OK. - Benenne den Button um (z. B. "Rechnung archivieren").
Wie das Makro funktioniert (Erklärung)
- Variablen: Es legt fest, wo die Rechnung liegt und wie sie heißen soll.
- Ordner-Check: Es prüft, ob ein Ordner für die Archivierung existiert. Wenn nicht, legt VBA ihn automatisch an.
- Kopieren: Das Makro kopiert nur das aktuelle Blatt. Dadurch wird automatisch eine neue Excel-Datei im Hintergrund erstellt.
- Werte fixieren: Der Befehl
.Value = .Valuesorgt dafür, dass Formeln (wie=HEUTE()) in feste Werte umgewandelt werden. So verändert sich das Datum der Rechnung später nicht mehr. - Speichern: Die neue Datei wird als
.xlsx(ohne Makros) gespeichert. - Hyperlink: In deiner Hauptdatei wird ein Link generiert, mit dem du die archivierte Rechnung sofort per Mausklick öffnen kannst.
Tipps für die Sicherheit
- Stelle sicher, dass im Dateinamen (Zelle B5) keine Sonderzeichen wie
/ \ : * ? " < > |vorkommen, da Windows diese nicht in Dateinamen erlaubt. - Speichere deine Hauptdatei immer als .xlsm, sonst geht das Makro beim Schließen verloren.