Speichern in VBA
#1
Hallo zusammen,

ich habe eine Datei mit mehreren Arbeitsblättern, welche ich am Ende einzeln abspeichern muss. Das habe ich mit VBA relativ gut hinbekommen. Allerdings muss ich den Code immer manuell anpassen, weil sich der Pfad und der Dateiname immer ändern.
Hier einmal der (etwas vereinfachte) Code:

Sub SAVE_einzeln()
    For i = 3 To 17
        Sheets(i).Copy

        ActiveWorkbook.SaveAs "SharePoint/.../Bericht/Jul/"& "Bericht " & Sheets(1).Name & " Jul", 52
   
        ActiveWorkbook.CheckIn (True)

        Next
End Sub

In dem Code steht an zwei stellen "Jul". Das ändert sich logischerweise und es wäre schön wenn ich das nicht manuell machen müsste. Der Monat, unter welchem gespeichert werden soll, steht im 1 Blatt der Arbeitsmappe in Zelle "D5", also könnte darauf verwiesen werden.
Ich bekomme es irgendwie nicht hin. Kann mir Jemand bitte helfen?
Top
#2
Hallo,
Sub SAVE_einzeln()
Dim i As Long
Dim strMonat As String
Dim strName As String
strMonat = ThisWorkbook.Sheets(1).Cells(5, 4).Value
strName = ThisWorkbook.Sheets(1).Name
For i = 3 To 17
ThisWorkbook.Sheets(i).Copy
ActiveWorkbook.SaveAs "SharePoint/.../Bericht/" & strMonat & "/Bericht " & strName & " " & strMonat & "", 52
ActiveWorkbook.CheckIn
Next i
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • toooobi95
Top
#3
Okay, das hat super funktioniert, vielen Dank.

Könntest du mir eventuell auch noch dabei helfen, wie ich vorher einen Ordner auf dem SharePoint erstelle?
Lokal wäre das kein Problem aber auf dem SharePoint scheint Mkdir nicht zu funktionieren und ich finde sonst im Internet nichts hilfreiches..
Top
#4
Hallo,

da ich selber nicht mit SharePoint arbeite, kann ich dir keinen getesteten Code zeigen. Wenn du aber mit den Suchbegriffen "excel vba sharpoint ordner erstellen" googlest, bekommst du jede Menge Anregungen zum Testen Wink
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste