Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Speichern als xlsb

Speichern als xlsb
02.07.2019 22:04:32
Matthias
Hallo Leute,
habe für einen Bekannten eine Honorarnote im Excel erstellt. Er öffnet die Vorlage und speichert dann jede Honorarnote separat ab.
Per Workbook.Open zählt die Rechnungsnummer bei jedem öffnen hinauf.
Das Datum ist mit =Heute() verlinkt und per Before.Safe wird das Datum in einen Wert umgewandelt.
Nun mein Problem: Die Rechnungsnummer zählt nun auch hinauf, wenn die separat abgespeicherte HN für den Kunden XY geöffnet wird. Natürlich könnte ich ihm sagen, er soll die HN einfach als xlsb speichern, lieber aber würde ich dies automatisiert machen.
Könnte mir hier bitte jemande weiterhelfen?
Das Speichern selbst erfolgt über einen Button hinter dem folgender Code ist:
Sub Speichern()
ActiveWorkbook.Save
Dim strDateiname As String
ChDrive "c:\"
strDateiname = ("Honorarnote " & Range("G15").Formula)
Application.Dialogs(xlDialogSaveAs).Show (strDateiname)
End Sub

Zur Erklärung: Es ist eine Vorlage und bevor die Datei geschlossen wird, wird die =HEUTE Formel in einen Wert umgewandelt. Deswegen habe ich das Speichern auf einen Button verlagert wodurch ich zuerst per ActiveWorkbook.Safe die Vorlage speichere und ihm dann die Honrarnote per Speichern unter abspeichern lasse. Wenn er sie dann schließt ist der Datum-Wert nur in der separat gespeicherten HN vorhanden, nicht aber in der Vorlage.
Müsste den code jetzt noch adaptieren, dass es als Datei ohne Makros abgespeichert wird.
Danke und LG
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern als xlsb
02.07.2019 22:16:41
mumpel
Hallo!
Ohne Makros geht nur als XLSX (xlOpenXMLWorkbook). Auch XLSB enthält Makros. Schau Dir dazu mal Application.GetSaveAsFilename an.
Gruß, René
AW: Speichern als xlsb
03.07.2019 09:18:24
Nepumuk
Hallo Matthias,
ich würde das so lösen:
Public Sub Speichern()
Dim strDateiname As String
Dim objFileDialog As FileDialog
ThisWorkbook.Save
Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
strDateiname = "Honorarnote " & Range("G15").Text
With objFileDialog
.FilterIndex = 1
.InitialFileName = "C:\" & strDateiname
If .Show Then
Application.DisplayAlerts = False
Call .Execute
Application.DisplayAlerts = True
End If
End With
Set objFileDialog = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Speichern als xlsb
03.07.2019 17:55:03
Matthias
Hallo Nepumuk,
vielen Dank, funktioniert einwandfrei.
Da ich mich ja auch weiterbilden möchte und nicht dauerhaft, schamlos das Wissen anderer konsumieren möchte - könntest du mir bei dem Code sagen, wo genau du die Info verpackt hast, dass es als "normale" Excel Datei ohne Makros abgespeichert wird ?
Danke und schönen Abend.
Anzeige
AW: Speichern als xlsb
05.07.2019 08:48:00
Torsten
Hallo Matthias,
hier

.FilterIndex = 1

Filterindex 1 sagt, speicher als .xlsx
2 z.B waere .xlsm
Gruss Torsten
AW: Speichern als xlsb
05.07.2019 17:31:17
Matthias
Danke vielmals!
AW: Speichern als xlsb
05.07.2019 19:40:18
onur
Und warum noch offen?
Anzeige
AW: Speichern als xlsb
05.07.2019 23:09:03
Matthias
Sorry, war reflexartig ;-)
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Speichern von Excel-Dateien im XLSB-Format


Schritt-für-Schritt-Anleitung

Um eine Honorarnote als .xlsb Datei zu speichern, kannst Du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es, die Datei im gewünschten Format abzuspeichern.

Sub Speichern()
    Dim strDateiname As String
    Dim objFileDialog As FileDialog
    ThisWorkbook.Save
    Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
    strDateiname = "Honorarnote " & Range("G15").Text
    With objFileDialog
        .FilterIndex = 1 ' Filter für .xlsx
        .InitialFileName = "C:\" & strDateiname
        If .Show Then
            Application.DisplayAlerts = False
            Call .Execute
            Application.DisplayAlerts = True
        End If
    End With
    Set objFileDialog = Nothing
End Sub

Um die Datei im .xlsb Format zu speichern, musst Du den FilterIndex entsprechend anpassen. Der Wert 1 für .xlsx bedeutet, dass die Datei ohne Makros gespeichert wird. Möchtest Du sie im .xlsb Format speichern, musst Du den Filter entsprechend setzen.


Häufige Fehler und Lösungen

  1. Fehler: Datei wird nicht im richtigen Format gespeichert

    • Lösung: Überprüfe den FilterIndex. Für .xlsb sollte der FilterIndex korrekt auf den entsprechenden Wert gesetzt werden.
  2. Fehler: VBA-Code funktioniert nicht

    • Lösung: Stelle sicher, dass Du den Code in einem Modul in der richtigen Excel-Version ausführst. Es ist wichtig, dass die Version VBA unterstützt.

Alternative Methoden

Falls Du die Honorarnote nicht über VBA speichern möchtest, kannst Du auch die Speichern unter Funktion in Excel manuell verwenden:

  1. Gehe zu „Datei“ und wähle „Speichern unter“.
  2. Wähle den Dateityp „Excel-Binärarbeitsmappe (*.xlsb)“ aus.
  3. Vergib einen Dateinamen und klicke auf „Speichern“.

Praktische Beispiele

Ein Beispiel für eine Honorarnote könnte so aussehen:

  • Vorlage Honorarnote: Erstelle eine Excel-Vorlage mit Platzhaltern für Rechnungsnummer und Datum.
  • VBA zur Automatisierung: Nutze den oben genannten VBA-Code, um die Honorarnote automatisch mit dem korrekten Namen und Format zu speichern.

Tipps für Profis

  • VBA Save as XLSB: Sei vorsichtig beim Speichern von Dateien als .xlsb, da sie Makros enthalten können. Wenn Du keine Makros verwenden möchtest, speichere die Datei als .xlsx.
  • Schnellzugriff: Füge den Speichern-Button zu Deiner Schnellzugriffsleiste hinzu, um Zeit zu sparen.

FAQ: Häufige Fragen

1. Was bedeutet .xlsx?
Die Endung .xlsx steht für das Standardformat von Excel-Arbeitsmappen ohne Makros. Dieses Format ist weit verbreitet und unterstützt keine VBA-Makros.

2. Wie öffne ich eine xlsb Datei?
Um eine .xlsb Datei zu öffnen, kannst Du einfach Excel nutzen. Die Datei öffnet sich wie jede andere Excel-Datei, solange Du eine kompatible Version von Excel verwendest.

3. Kann ich eine Honorarnote Vorlage erstellen?
Ja, Du kannst eine Honorarnote Vorlage in Excel erstellen, indem Du alle erforderlichen Felder wie Rechnungsnummer, Datum und Beträge in einer übersichtlichen Tabelle anlegst.

4. Wie kann ich die Rechnungsnummer automatisch hochzählen lassen?
Du kannst die Rechnungsnummer mit einer Formel oder VBA anpassen, um sie beim Speichern der Datei zu erhöhen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige