Makro geht unter 2003 aber nicht unter 2007
Mike
ich habe folgendes Problem:
Meine Frau und ich haben unterschiedliche Excel Versionen (2003 und 2007), müssen aber auf die gleiche Datei im Netz zugreifen und mit folgendem Makro arbeiten:
Sub komplett()
'setzt die Rechnungsnummer hoch
With Worksheets("Rechnung").Range("D17")
.Value = .Value + 1
End With
'übeträgt Rechnungsdaten ins Journal
Pfad = "\\Kati\user\Ausgangsrechnungen\2012\"
Datei = "Journal.xls"
ChDir "" & Pfad
Dim lgRow As Long
Dim wks As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = Sheets("Rechnung")
'öffnet die Journaldatei
Workbooks.Open Filename:="" & Pfad & Datei
'den Namen der Zieldatei und des Blattes jährlich anpassen
Set wks = Workbooks("Journal.xls").Sheets("2012")
With wks
lgRow = .Range("A65536").End(xlUp).Row + 1
.Cells(lgRow, 1) = wksQuell.Cells(17, 3)
.Cells(lgRow, 2) = wksQuell.Cells(17, 4)
.Cells(lgRow, 3) = wksQuell.Cells(3, 3)
.Cells(lgRow, 4) = wksQuell.Cells(9, 1)
.Cells(lgRow, 5) = wksQuell.Cells(29, 7)
.Cells(lgRow, 6) = wksQuell.Cells(31, 7)
.Cells(lgRow, 7) = wksQuell.Cells(32, 7)
End With
'speichert und schließt die Journaldatei
Workbooks("Journal.xls").Save
Workbooks("Journal.xls").Close
On Error GoTo 0
'druckt Rechnung aus und speichert aktuelle Rechnung als Datei ab
Dim Kopien As Variant
If MsgBox("Rechnung ausdrucken?", vbYesNo, "Drucken") = vbYes Then
Do
Kopien = InputBox("Anzahl Kopien", "Drucken", 1)
If StrPtr(Kopien) = 0 Then Exit Sub
If IsNumeric(Kopien) Then Exit Do
MsgBox "Bitte eine Zahl eingeben!", vbExclamation, "Hinweis"
Loop
ActiveSheet.PrintOut From:=1, To:=1, Copies:=CLng(Kopien)
End If
Dim name1, name2, name3 As String
'den Pfad der Zieldatei jährlich anpassen
Pfad = "\\Kati\user\Ausgangsrechnungen\2012\"
name1 = Cells(17, 1)
name2 = Cells(17, 3)
name3 = Cells(17, 4)
ActiveWorkbook.SaveAs Filename:=Pfad & name1 & " " & name2 & " " & name3 & ".xls"
End Sub
Bei mir (2003) funktioniert das Makro einwandfrei, auf dem Rechner meiner Frau (2007) treten folgende Abweichungen auf:
1. Beim Speichern der Journaldatei kommt immer der Hinweis, dass die Datei bereits existiert und ob man diese ersetzen möchte. Ja, das wollen wir. IMMER! Warum kommt der Hinweis in der 2007er Version? Kann man diese Abfrage unterdrücken?
Die Klärung dieser 1. Frage wäre zwar schön aber viel brennender ist für uns das zweite Problem:
2. Leider speichert die 2007er Version die aktive Arbeitsmappe nicht unter dem neuen Namen ab. Der Debugger meckert die oben fett markierte Zeile an. Ich habe schon so ziemlich alles probiert (anderer Pfadname etc.) und bin auch über die Suchen Funktion im Forum und im Netz nicht weiter gekommen.
Die Fehlermeldung lautet: Laufzeitfehler 1004 - Die Methode ´SaveAs´ für das Objekt ´_Workbook´ ist fehlgeschlagen.
Kann mir bitte jemand weiterhelfen?
Gruß
Mike