Und soll folgendes tun... Kopiere aus d. Tabelle "Fertig" die Bereiche [B4:CC29, B32:CC56, B60:CK84] in die geschlossene Arbeitsmappe z.B. D:\Allgemein\LOHN\Lohn März2002.xls (dieser Dateinamen ändert sich jeden Monat!) und schließe D:\Allgemein\LOHN\Lohn März2002.xls wieder nach dem Kopiervorgang, so das mit "Eingabe.xls" weitergearbeitet werden kann.
'Hier wollte ich einen "String" für den Dateinamen fertigen!
'Damit ich für jeden Monat nur eine Zeile ändern muß!
Sub Werte_übertragen()
Dim strWB As String
strWB = "D:\Allgemein\LOHN\Lohn März2002.xls"
Application.ScreenUpdating = False
'Das folgende Beispiel schließt sämtliche Arbeitsmappen und
'speichert die darin vorgenommenen Änderungen, mit Ausnahme der
'Arbeitsmappe,aus der das Makro ausgeführt wird.
'Damit keine Fehlermeldung entsteht-
'falls die Datei: strWB, bereits geöffnet ist.
For Each w In Workbooks
If w.Name <> ThisWorkbook.Name Then
w.Close savechanges:=True
End If
Next w
Application.ScreenUpdating = False
Sheets("Fertig").Select
Range("B4:CC29").Select
Selection.Copy
ChDir "D:\Allgemein\LOHN\"
Workbooks.Open strWB, UpdateLinks:=0
Sheets("Anwesenheit").Select
Range("B4:CC29").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Eingabe.xls").Activate
Application.CutCopyMode = False
Range("B32:CC56").Select
Selection.Copy
ActiveWindow.ActivateNext
Range("B32:CC56").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Eingabe.xls").Activate
Application.CutCopyMode = False
Range("B60:CK84").Select
Selection.Copy
ActiveWindow.ActivateNext
Range("B60:CK84").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
ActiveWorkbook.Save
ActiveWorkbook.Close
Windows("Eingabe.xls").Activate
Application.CutCopyMode = False
Range("A1").Select
Sheets("Dienstplan").Select
MsgBox " Daten erfolgreich übertragen nach:" & Chr(13) & " " & strWB & "!"
End Sub
Soweit funktioniert das Makro, leider bekomme ich es nicht hin
den Fehler abzufangen (falls die Datei: D:\Allgemein\LOHN\Lohn März2002.xls z.B. noch nicht vorhanden ist. Jetzt brauche ich Hilfe: Wie und wo baut man hier in diesem Makro noch eine Überprüfung ein ob die Datei D:\Allgemein\LOHN\Lohn März2002.xls
z.B. (ändert sich jeden Monat) exsistiert und wenn ja dann Makro fortfahren und wenn nein dann Makro beenden!
Danke für eure Hilfe