VBA-Code funktioniert sporadisch, warum?
17.12.2012 16:24:20
Hasi
zuerst möchte ich dieses Forum einmal loben, denn es hat mir schon oft weitergeholfen. Diesmal verzweifel ich jedoch ein wenig da mein VBA-Code nur sporadisch funktioniert:
Sub Backup()
'kopiert alle Daten nach Tabellenblatt "Backup"
Sheets("Daten").Select
Range("A15:ZZ5000").Select
Selection.Copy
Sheets("Backup").Select
Range("A15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
'Speichern im entsprechenden Pfad
Dim NeuerName
Dim strPfad As String
strPfad = ThisWorkbook.Path
NeuerName = Worksheets("Eingabe").Cells(6, 2)
ActiveSheet.Copy
'ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & NeuerName & ".xls"
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Backups\" & "Daten_" & NeuerName & ".xls"
ActiveWorkbook.Save
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Sheets("Backup").Select
Range("A1:ZZ500").Select
Selection.ClearContents
Range("A1").Select
Call Dropdown_Legende_Backup
Sheets("Eingabe").Select
End Sub
Sub Dropdown_Legende_Backup()
Sheets("Dropdown_Legende").Select
'Speichern im entsprechenden Pfad
Dim NeuerName1
Dim strPfad1 As String
strPfad1 = ThisWorkbook.Path
NeuerName1 = Worksheets("Eingabe").Cells(6, 2)
ActiveSheet.Copy
'ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & NeuerName & ".xls"
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Backups\" & "Dropdown_Legende_" & _
NeuerName1 & ".xls"
ActiveWorkbook.Save
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Sheets("Eingabe").Select
End Sub
Der Code soll im Prinzip nur aus einer Hauptdatei einmal das Tabellenblatt "Daten" in eine eigene Datei kopieren mit Namen Daten und dem zugehörigen Datum und ein weiteres Tabellenblatt namens "Dropdown_Legende" auch in eine extra Datei mit Namen und Datum. Jetzt hab ich jedoch das Problem, dass dieser Code sporadisch funktioniert. Anfangs hab ich gedacht, dass es nur funktioniert wenn eine Datei schon vorhanden ist, aber dem ist nicht so.
Ich würde mich sehr freuen mir könnte einer von euch helfen!
Ich bin mir durchaus bewusst, dass der Code auch kürzer ginge. Wenn jemand also auch hier ne Verbesserung in Petto hat, dann nur zu.
Vielen Dank schonmal
Gruß Jens