ich komme nicht drauf ...
Ich habe einen Ordner in dem es eine Menge xls gibt die VBA-Code enthalten, der passwortgeschützt ist. Nun brauche ich die Dateien (bzw. jeweils ein Blatt daraus) unbedingt ohne Code.
Ich habe mir gedacht alle Dateien aus einer Mappe heraus automatisch nacheinander zu öffnen und das entscheidende Blatt in eine neue Arbeitsmappe zu kopieren. Die 'überflüssigen' xls will ich später manuell löschen.
So sieht mein Code aus:
StrVerzeichnis = ActiveWorkbook.Path & "\"
StrTyp = "*.xls"
StrDateiname = Dir(StrVerzeichnis & "\" & StrTyp)
Do While StrDateiname ""
Workbooks.Open Filename:=StrVerzeichnis & StrDateiname
Application.DisplayAlerts = False
For Each WS In ActiveWorkbook.Sheets
If WS.Name = "Aktuelle Rechnung" Then
NeuerName = StrVerzeichnis & "_neu" & StrDateiname
Sheets("Aktuelle Rechnung").Copy
With ActiveWorkbook
.SaveAs Filename:=NeuerName
.Close
End With
End If
Next WS
ActiveWorkbook.Close False
StrDateiname = Dir
Loop
Das Kopieren der Blätter in neue Arbeitsmappen und schließen derselben funktioniert auch ... aber ich kann die Arbeitsmappe aus der das Blatt kopiert wird nicht schließen ("ActiveWorkbook.Close False" führt zu "Index außerhalb des gültigen Bereichs" und alle anderen Versuche haben auch nicht funktioniert).
Hat jemand von Euch eine Idee?
Danke und Grüße,
Michael