Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Excel VBA Speichern unter Variablen Name
28.08.2020 19:58:25
Hannes
Hallo
Ich möchte ein Makro erstellen, das eine Arbeitsmappe automatisch (per Knopfdruck) an einem
vordefiniertem Platz abspeichert und sich den Namen der Datei aus der Tabelle entnimmt.
Also man drückt auf den Button "speichern", dann wird eine Datei erstellt die an einem Vordefiniertem Speicherort aber mit individuellem Filenamen erstellt.
Der Filename setzt sich aus dem Inhalt von 2 Zellen zusammen.
Zb Lieferscheinnummer und Kundennummer.
Private Sub CommandButtonSpeichern_Click()
'Blatt drffinieren
With Worksheets("Lieferschein").= "Blatt" =Range("L12")&Range("L1").Text
Apllication.DiaslayAlerts = False
ThisWorkbook.SaveAs "Desktop\Test\Blatt.xlsm", 52
End Sub
Ich denke das ich dicht dran bin, hab schon einiges erfolglos Versucht.
Glaube mir geht nur noch folgendes ab:
Das definieren von "Blatt", das dem Makro sagt, bitte nimm den Inhalt von "L12" und den Inhalt von "L1".
Soll dann ungefähr so aussehen:
C\Desktop\Neuer_Ordner\LN1234567890KN12345.xlsm
fix "L12" "L1"
Oder so ähnlich.
Danke

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

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Speichern unter Variablen Name
28.08.2020 20:03:03
Hajo_Zi
benutze Makrorecorder, das ist ein guter Ansatz.

AW: Excel VBA Speichern unter Variablen Name
28.08.2020 21:41:27
Dieter
Hallo Hannes,
willst du wirklich deine Arbeitsmappe unter diesem zusammengesetzten Begriff abspeichern und dann mit dieser neu benannten Arbeitsmappe weiterarbeiten?
Ich habe dir einmal ein Programm gemacht, in dem anstelle von SaveAs die Methode SaveCopyAs verwendet wird. Wenn das nicht deiner Vorstellung entsprichst, schaltest du einfach auf SaveAs um.
Das Programm steht im Codemodul des Tabellenblattes "Lieferschein" und da kannst du das Tabellenblatt einfach mit "Me" ansprechen.
Die Ansprache des Desktops ist etwas komplizierter. Infos dazu findest du hier
https://excel.tips.net/T008233_Finding_the_Path_to_the_Desktop.html
Das Programm dann folgendermaßen aus:
Private Sub CommandButtonSpeichern_Click()
Dim datei As String
Dim pfad As String
pfad = GetDesktop() & "\Test\"
datei = Me.Range("L12") & Me.Range("L1") & ".xlsm"
Application.DisplayAlerts = False
'  ThisWorkbook.SaveAs Filename:=pfad & datei
ThisWorkbook.SaveCopyAs Filename:=pfad & datei
Application.DisplayAlerts = True
End Sub
Und der Pfad zum Desktop aus o.g. Quelle
Function GetDesktop() As String
Dim oWSHShell As Object
Set oWSHShell = CreateObject("WScript.Shell")
GetDesktop = oWSHShell.SpecialFolders("Desktop")
Set oWSHShell = Nothing
End Function
In dieser Arbeitsmappe findet sich der Code:
https://www.herber.de/bbs/user/139896.xlsm
Viele Grüße
Dieter
Anzeige

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige