Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Inhaltsverzeichnis

Hilfe beim Makro

Hilfe beim Makro
Bernd
Hallo zusammen,
habe eine Exceldatei mit 20 Tab-Blättern. Makro soll Datei nach folgenden Bedingungen speichern.
Nehme Wert aus Tab-Blatt "name", Zelle b2, hänge akt. Datum dran und speichere die Datei unter folgenden Pfad: e:\abc\xyz\
Ich hoffe, dass ich mich verständlich ausgedrückt habe und bedanke mich schon mal im Voraus für kommende Beiträge.
Bruß Bernd

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Blätter mit Datum und Zellinhalt einzeln speichern
06.11.2009 17:25:58
NoNet
Hall Bernd,
so müsste es gehten (nicht getestet) :
Dim sh as sheet
For each sh in sheets
sh.copy 'erstellt eine Kopie des Blattes als neue Mappe
activeworkbook.saveas "e:\abc\xyz\" & sh.name & " " & activesheet.[B2] & format(Date,"YYYY-MM- _
DD") & ".xls"
Activeworkbook.Close 'Schließt die Kopie und kehrt in die ursprüngliche Mappe zurück
Next
Gruß, NoNet
AW: Blätter mit Datum und Zellinhalt einzeln speichern
06.11.2009 17:47:12
Bernd
Hallo NoNet,
Danke für die schnelle Hilfe. Leider bekomme ich bei "Dim sh ..." eine Fehlermeldung.
Liegt es vielleicht daran, das ich vergessen hatte zu erwähnen, dass es sich um eine "XLT-Vorlagen-Datei" handelt und das ich das Makro aus Tab-Blatt "start" per Button starte.
Danke schon mal im Voraus.
Gruß Bernd
Anzeige
Nachtrag
06.11.2009 18:25:41
Bernd
Hallo NoNet,
..Zelle b2 in Tab "name" bildet den neuen Dateinamen ab + akt. Datum. Nicht jedes Tab-Blatt speichern sondern die gesamte Datei.
Gruß Bernd
AW: Hilfe beim Makro
06.11.2009 17:30:04
Jens
Hallo Bernd
Sub tt()
Dim strName As String
strName = ("e:\abc\xyz\" & Worksheets("name").Range("B2") & Format(Date, "YYYY-MM-DD"))
ThisWorkbook.SaveAs strName
End Sub

AW: Hilfe beim Makro
06.11.2009 18:05:26
Bernd
Hallo Jens,
getestet und bis auf die Tatsache, dass die Datei nur mit Datum und nicht wie gewollt vor dem Datum noch den Wert aus Zelle b2, Tab-Blatt "name" voran stellt.
Hatte leider am Anfang vergessen zu erwähnen, dass ich hier eine Vorlagendatei (.xlt) gestartet habe und das Makro von Tab-Blatt "start" ausführen möchte.
Danke schon mal im Voraus.
Gruß Bernd
Anzeige
AW: Hilfe beim Makro
06.11.2009 20:47:13
Jens
Hallo Bernd
Ich habe das jetzt so verstanden:
Die Mappe xyz.xlt wird geöffnet.
Dort sind 2 Register ("name" und "start")
In "name" in B2 steht irgendwas
Jetzt soll die .xlt-Datei unter
"e:\abc\xyz\" & Worksheets("name").Range("B2") & Format(Date, "YYYY-MM-DD")
als .xls-Datei gespeichert werden. (Oder soll nur eine Kopie davon gespeichert werden?)
Ist das soweit richtig?
So funzt das bei mir:
Sub tt()
Dim strName As String
strName = ("e:\abc\xyz\" & Worksheets("name").Range("B2") & Format(Date, "YYYY-MM-DD") & ".xls") _
ThisWorkbook.SaveAs strName 'oder ThisWorkbook.SaveCopyAs strName
End Sub
Gruß aus dem Sauerland
Jens
Anzeige
AW: Hilfe beim Makro
09.11.2009 09:24:35
Bernd
Hallo Jens,
trotz meiner laienhaften Darstellung hast du es richtig verstanden, Hut ab!!!
Dein VBA-Code funktioniert einwandfrei.
Allerdings ist mir aufgefallen, dass wenn die Zelle B2 leer ist, was mal passieren kann, die Datei nur mit dem aktuellen Datum abgespeichert wird und die Gefahr besteht, dass es beim speichern zur Überschreibung der Datei kommt, was ich verhindern möchte.
Deshalb meine Frage. Kannst du mir einen Weg aufzeigen, vor der Speicherung eine Abfrage in den Code einzubauen, die annähern so lauten soll: "wenn B2 auf Tab-Blatt "name" leer ist, gehe zu Tab-Blatt "name" und zu B2. Wenn B2 ist ausgefüllt, setzte speichern fort.
Viele Dank schon mal im Voraus.
Gruß Bernd
Anzeige
AW: Hilfe beim Makro
09.11.2009 14:52:00
Jens
Hallo Bernd
Versuch mal so:
Sub tt()
Dim strName As String
If Worksheets("name").Range("B2") = "" Then
MsgBox "Bitte Zelle ""B2"" in Tabelle ""Name"" füllen." & Chr(10) & "Der Vorgang wird  _
abgebrochen..."
Application.Goto Worksheets("name").Range("B2")
Exit Sub
Else
strName = ("e:\abc\xyz\" & Worksheets("name").Range("B2") & Format(Date, "YYYY-MM-DD") & ".xls") _
ThisWorkbook.SaveAs strName 'oder ThisWorkbook.SaveCopyAs strName
End If
End Sub
Gruß aus dem Sauerland
Jens
AW: Hilfe beim Makro
09.11.2009 15:30:13
Bernd
Hallo Jens,
Danke für deine erneute Hilfe.
Bekomme leider folgende Fehlermeldung "Fehler beim kompilieren: Else ohne if"
Gruß aus dem kalten Bremen
Bernd
Anzeige
AW: Hilfe beim Makro
09.11.2009 15:38:25
Jens
Hallo Bernd
Der Strich vom Zeilenumbruch "_" wird von der Forensoftware gesetzt. Das kann der Fehler sein.
MsgBox "Bitte Zelle ""B2"" in Tabelle ""Name"" füllen." & Chr(10) 

und
 & "Der Vorgang wird abgebrochen..."
sollten in einer Zeile hintereinander stehen (ohne "_").
Gruß aus dem Sauerland
Jens
AW: Hilfe beim Makro
09.11.2009 16:01:51
Bernd
Hallo Jens,
geht ab wie "Schmitz Katze".
Danke nochmals!!!
Gruß Bernd
Danke für Rückmeldung :o) (oT)
09.11.2009 20:25:46
Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige