Informationen und Beispiele zum Thema CommandButton | |
---|---|
![]() |
CommandButton-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Dateinamen per Makro beim speichern vorgeben
von: Thomas
Geschrieben am: 26.01.2010 08:04:44
Hallo Forum,
ich möchte beim speichern einer Excelmappe den Typ (xlsm) und ebenfalls den Dateinamen schon vorgeben. Das ist mir auch einigermassen gelungen, aber ich bin mit dem Endergebnis noch nicht so zufrieden.
Der Dateiname soll sich zusammensetzen aus "KL" + Leerzeichen + aktueller Monat [hier ist das Problem] und einer laufenden 4 stelligen Nummer. Der Monat soll dabei aber 2 Stellen haben, also bis einschliesslich September muss eine 0 davor [ z.B. 02 (Februar);09 (September)] und ab Oktober soll nur der Monat geschrieben werden, da der ja ohnehin 2stellig ist. Wie kann ich das ändern (siehe mein Makro)
Private Sub CommandButton1_Click() Dim strVerzeichnis As String Dim strDateiname As String strVerzeichnis = "\\sv42159bub9005\buck\Daten\Projekte\" strDateiname = Application.GetSaveAsFilename(InitialFileName:=strVerzeichnis & _ "KL" & " " & Right(Year(Date), 2) & "." & Month(Date) & "xxxx" & ".xlsm", _ FileFilter:="Microsoft Excel-Arbeitsmappe mit Makros (*.xlsm), *.xlsm") Select Case strDateiname Case False Exit Sub Case Else ThisWorkbook.SaveAs Filename:=strDateiname, FileFormat:=xlOpenXMLWorkbookMacroEnabled End Select End SubZusätzlich möchte ich, dass die laufende Nummer aus einem anderen Excelblatt (liegt im Netzwerk auf einem anderen Server) abgefragt wird. Es soll einfach der letzte Eintrag in Spalte B (Tabelle1) ausgelesen und + 1 addiert werden. Das Makro müsste also abfragen, in welcher Zeile sich der letzte Eintrag in Spalte B befindet und einfach 1 dazuaddieren.
Betrifft: AW: Dateinamen per Makro beim speichern vorgeben
von: Hajo_Zi
Geschrieben am: 26.01.2010 08:09:15
Hallo Tomas,
"KL" & " " & Format(Date, "yy") & "." & Format(Date,"mm") & "xxxx" & ".xlsm"
Betrifft: AW: Dateinamen per Makro beim speichern vorgeben
von: Thomas
Geschrieben am: 26.01.2010 08:35:34
danke hajo,
habe auch schon mit Format herumexperimentiert, mein Fehler war, dass ich das Jahr YY nicht in Anführungszeichen geschrieben hatte.
Hat jemand eine Lösung zum zweiten Teil des Problems, dem auslesen des letzten Eintrages der Spalte B von Tabelle1 einer anderen Exceldatei??
Danke für die Hilfe
Thomas
Betrifft: AW: Dateinamen per Makro beim speichern vorgeben
von: Hajo_Zi
Geschrieben am: 26.01.2010 08:38:54
Hallo Thomas,
die Letzte Zelle einer Spalte
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count)
und dann ist es ja nur Cells(loletzte,2) oder Range("B"& loletzte)
Gruß Hajo