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

Forumthread: Button "Speichern unter.."

Button "Speichern unter.."
+MaX+
Hallo zusammen
Ich möchte gerne einen Button "Speichern unter"
Habe diesen Code genommen und verändert, geht aber nicht.

Sub SpeichernUnter()
Dim varRetVal As Variant, strInitFileName As String, Datname As String
Datname = "Referenz" & (B12") & ".xlsm"
varRetVal = Application.GetSaveAsFilename( _
InitialFileName:=Pfad & Datname, _
FileFilter:="Microsoft Excel-Dateien (*.xlsm), *.xlsm", _
Title:="Datei speichern unter... ")
'If varRetVal = False Then Exit Sub
'ActiveWorkbook.SaveAs varRetVal
End Sub

Die Datei sollte denn neuen Namen Referenz-B12.xlsm bekommen,
wobei B12 sich auf die Zelle in der Tabelle bezieht.
Wenn ich in die Zelle B12 denn Nachname Müller eingebe, sollte der gespeicherter Dateiname dann
Referenz-Müller.xlsm heissen.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Button "Speichern unter.."
28.04.2011 03:45:38
fcs
Hallo Max,
du hast ggf. 2 Probleme:
1. Inhalt der Variablen "Pfad"
Wenn ihr kein Wert zugewiesen ist/wird, dann nimmt Excel das aktuelle Verzeichnis.
2. Formelsyntax für den Dateinamen
erforderliche Korrektur gemäß nachfogendem Code.
Gruß
Franz
Sub SpeichernUnter()
Dim varRetVal As Variant, strInitFileName As String, Datname As String
Dim Pfad As String
Pfad = "" 'ActiveWorkbook.Path & "\"                        '?
Datname = "Referenz-" & Range("B12") & ".xlsm"
varRetVal = Application.GetSaveAsFilename( _
InitialFileName:=Pfad & Datname, _
FileFilter:="Microsoft Excel-Dateien (*.xlsm), *.xlsm", _
Title:="Datei speichern unter... ")
If varRetVal = False Then Exit Sub
ActiveWorkbook.SaveAs varRetVal
End Sub

Anzeige
AW: Feedback
29.04.2011 11:58:43
+MaX+
Vielen Dank, jetzt hat es einwandfrei funktioniert.
;
Anzeige
Anzeige

Infobox / Tutorial

Button "Speichern unter" in Excel einfügen


Schritt-für-Schritt-Anleitung

Um einen Button "Speichern unter" in Excel einzufügen, folge diesen Schritten:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", gehe zu "Einfügen" und wähle "Modul".

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub SpeichernUnter()
       Dim varRetVal As Variant
       Dim Datname As String
       Dim Pfad As String
       Pfad = "" ' Verzeichnis, in dem die Datei gespeichert werden soll
       Datname = "Referenz-" & Range("B12").Value & ".xlsm"
       varRetVal = Application.GetSaveAsFilename( _
           InitialFileName:=Pfad & Datname, _
           FileFilter:="Microsoft Excel-Dateien (*.xlsm), *.xlsm", _
           Title:="Datei speichern unter... ")
       If varRetVal = False Then Exit Sub
       ActiveWorkbook.SaveAs varRetVal
    End Sub
  4. Button einfügen: Gehe zurück zu deinem Excel-Blatt. Klicke auf "Entwicklertools" und dann auf "Einfügen". Wähle den Button aus und ziehe ihn auf dein Arbeitsblatt.

  5. Makro zuweisen: Klicke mit der rechten Maustaste auf den Button, wähle "Makro zuweisen" und wähle SpeichernUnter.

Jetzt hast du erfolgreich einen Speicher-Button in Excel eingefügt!


Häufige Fehler und Lösungen

  • Problem: Der Dateiname wird nicht korrekt generiert.

    • Lösung: Stelle sicher, dass in Zelle B12 ein Wert eingetragen ist. Der Dateiname wird aus dem Inhalt dieser Zelle abgeleitet.
  • Problem: Der Pfad ist nicht angegeben.

    • Lösung: Setze den Pfad in der Variablen Pfad auf das gewünschte Verzeichnis. Wenn du es leer lässt, wird die Datei im aktuellen Verzeichnis gespeichert.

Alternative Methoden

Wenn du keinen Button verwenden möchtest, kannst du auch die Entwicklertools aktivieren und die Funktion "Speichern unter" über das Menü einfügen:

  1. Gehe zu "Entwicklertools" > "Einfügen".
  2. Wähle ein Steuerelement, z. B. einen Formular-Button.
  3. Weise das Makro SpeichernUnter dem Button zu.

Dies ermöglicht es dir, die Funktionalität auch ohne VBA zu nutzen.


Praktische Beispiele

  • Beispiel 1: Wenn in Zelle B12 der Nachname "Müller" steht, wird die Datei als Referenz-Müller.xlsm gespeichert.
  • Beispiel 2: Wenn du den Namen in B12 änderst, z. B. auf "Schmidt", wird die Datei als Referenz-Schmidt.xlsm gespeichert, sobald du den Button drückst.

Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlung in dein Makro ein, um Benutzer auf mögliche Probleme hinzuweisen. Zum Beispiel:

    If varRetVal = False Then
       MsgBox "Speichern abgebrochen.", vbExclamation
       Exit Sub
    End If
  • Button anpassen: Du kannst den Button stilistisch anpassen, um ihn hervorzuheben. Klicke mit der rechten Maustaste auf den Button und wähle "Form formatieren".


FAQ: Häufige Fragen

1. Wie kann ich den Speicherort für die Datei festlegen?
Du kannst den Pfad im VBA-Code anpassen, um die Datei in einem bestimmten Verzeichnis zu speichern.

2. Kann ich den Button auch in Excel 365 verwenden?
Ja, dieser Code funktioniert in Excel 365 sowie in den meisten anderen Versionen, die VBA unterstützen.

3. Was passiert, wenn ich einen bestehenden Dateinamen verwende?
Excel wird dich fragen, ob du die vorhandene Datei überschreiben möchtest.

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