Hallo ralf_B Hallo xlKing
Danke euch beiden erstmal für eure Hilfe.
Bücher sind eine tolle Sache, allerdings fehlen mir bei diesem Buch einfach irgendwie die Grundlagen.
Wie baut man einen Code gescheit auf welchen Weg gehe ich was brauche ich für Variablen usw.
Ich dachte immer, dass es einfacher ist einen bestehenden Code anzupassen, ich merke einfach dass mir soviel Wissen fehlt in diesem Bereich.
Habe eure beiden Codes mal auf meine Bedürfnisse angepasst aber es gehen beide nicht wirklich so wie ich mir das wünsche und ich sehe vor lauter Bäumen den Wald kaum...
Code von XlKing:
Sub Tabellen()
Dim strPfad As String
Dim wksBlatt As Worksheet
Dim wkbZiel As Workbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
strPfad = "Mein Laufwerk/Mein Ordner/mein Unterordner/" & Year & "\"
If Dir(strPfad, vbDirectory) = "" Then
MkDir strPfad
End If
Set wksBlatt = ThisWorkbook.Worksheets("Test1")
ThisWorkbook.Worksheets("Test1").Copy
wkbZiel = ActiveWorkbook
wkbZiel.SaveAs strPfad & Environ("Username") & "" & Now
wkbZiel.Close savechanges:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Hier erscheint eine Fehlermeldung die im Zusammenhang mit wbkZiel steht --> Aber wbkZiel ist doch definiert?
Den Code von ralf_b habe ich etwas angepasst, dieser funktioniert, allerdings wird die Datei nicht im gewünschten Unterordner erstellt und der Dateinamen enthält nur das Jahr 2021. Auch hier stehe ich total auf dem Schlauch.
Bitte entschuldigt meine Unfähigkeit, ich bin wie gesagt nachwievor am lernen und versuche irgendwie Ordnung ins Chaos zu bringen ;-)
Hinzu kommt, dass es bei VBA soviele verschiedene Möglichkeiten gibt etwas zu programmieren.
Wie geht man da am Besten vor?
Sub TabellenAlsDateienSpeichern()
Dim strPfad As String
Const ORDNER = "Mein Laufwerk/Test/2021" 'anpassen"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
strPfad = ORDNER
If Dir(strPfad, vbDirectory) = "" Then
MkDir strPfad
End If
ThisWorkbook.Worksheets("Test1").Copy
ActiveWorkbook.SaveAs strPfad & Environ("Username") & "" & Now
ActiveWorkbook.Close savechanges:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
|