ich habe mal wieder ein kleines Problem und bin auf eure Expertise angewiesen.
Ich habe einige Excel-Dateien. Diese enthalten jeweils ca. 16 Blätter.
Nach dem 4. Blatt kommen bei jeder Datei Blätter mit Monatsnamen (Januar, Februar, April) etc.
Wie kann ich diese jeweils umbennen? (z.B. aus April soll 2019-April werden.)
Würde das gerne automatisieren, da es sonst ewig dauert.
Mit Hilfe des Forums habe ich vor einiger Zeit ein Makro erstellt, wo ich alle betroffenen Exceldateien
auswählen und drucken kann. Evtl. kann man das hier umschreiben.
Hier der Code:
Option Explicit
Private Sub CommandButton1_Click()
Dim objWorkbook As Workbook
Dim lngIndex As Long
Call Hide
Application.ScreenUpdating = False
For lngIndex = 0 To ListBox1.ListCount - 1
With ListBox1
If .Selected(pvargIndex:=lngIndex) Then
Set objWorkbook = Workbooks.Open(Filename:= _
.List(pvargIndex:=lngIndex, pvargColumn:=1) & _
.List(pvargIndex:=lngIndex, pvargColumn:=0))
With objWorkbook
Call .Worksheets(.Worksheets.Count).Select
'Application.Run ("'" & .Name & "'!Daten_holen_Bewertung_Vorjahre")
'Call Run(Macro:=.Name & "!NeuesBlatt")
Call .Worksheets(.Worksheets.Count).PrintOut
Call .Close(SaveChanges:=False)
End With
End If
End With
Next
Application.ScreenUpdating = True
MsgBox "Fertig !"
CommandButton2.Value = True
End Sub
Private Sub CommandButton2_Click()
Call Unload(Object:=Me)
End Sub
Private Sub UserForm_Initialize()
Const FOLDER_PATH As String = "\\NAS-2T\Bau\Projekte\Verschoben auf Server\0005 _
Baustellenbewertungen\" 'anpassen !!!
Dim lngYear As Long
Dim strFileName As String
For lngYear = 2016 To 2030
strFileName = Dir$(PathName:=FOLDER_PATH & CStr(lngYear) & "\*.xlsm")
Do Until strFileName = vbNullString
With ListBox1
Call .AddItem(pvargItem:=strFileName)
.List(.ListCount - 1, 1) = FOLDER_PATH & CStr(lngYear) & "\"
.Selected(pvargIndex:=.ListCount - 1) = True
End With
strFileName = Dir$
Loop
Next
End Sub
Vielen Dank vorab für eure Hilfe.Gruß
Andreas