PasteSpecial
15.09.2003 15:16:21
Torsten K.
ich habe ein Problem, bei dem der geübte VBA-Programmierer wohl nur noch den Kopf schütteln wird, aber als VBA-Einsteiger beiß' ich mir daran gerade die Zähne aus.....
In einer Datei ("Master") habe ich in einem Worksheet ("Start") einem Zellbereich den Namen "ADM_Filename" gegeben, dessen Inhalt auf "NL1_ADM.xls" lautet. In dieser Datei habe ich ein weiteres Worksheet ("BUMON"), dessen Zellen (I5:AU457) ich über Kopieren/Inhalte/Werte in eine bereits bestehende Datei kopieren möchte. Diese Datei lautet auf "NL1_ADM.xls" und in das Worksheet "GESAMT", Zellen I5:AU457 sollen die Daten reinkopiert werden. Der Code, den ich unten angeführt habe, läuft bis zur Stelle, an der das PasteSpecial ausgeführt werden soll auch richtig. Aber dann kommt die Fehlermeldung: "Die Paste-Special-Methode des Range-Objektes konnte nicht ausgeführt werden". Ich habe nun schon einiges probiert, komme aber leider nicht weiter. Kann mir jemand weiterhelfen?
Kann ich an der Stelle auch noch anfragen, wie ich vor dem Öffnen der Datei darauf prüfe, ob diese schon geöffnet ist, und wenn ja, Excel nur noch in die Datei reinspringt und nicht ein weiteres mal öffnet?
Dim fi As String
fi = ActiveSheet.Range("ADM_Filename")
Application.ScreenUpdating = False
Sheets("BUMON").Select
Range("I5:AU457").Select
Selection.Copy
Workbooks.Open Filename:= _
"Y:\Budget 2004\Turnover\COPA_Preparation\" & fi, _
password:="", WriteResPassword:=""
With Sheets("GESAMT")
.Unprotect password:="Kennwort"
.Select
.Range("I5:AU457").Select
End With
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
With ActiveSheet
.Protect password:="Kennwort", UserInterfaceOnly:=True
.EnableOutlining = True
End With
Sheets("Split").Select
Range("B3").Select
ActiveWorkbook.Save
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Vielen Dank für Eure Hilfe im voraus.
Gruß
Torsten