Zellen aus anderer Tabelle kopieren

Grüezi!

Hab jetzt 2 stunden geübt und nichts rausbekommen.
Möchte ein Makro für:

Kopieren des Jahresplanes 2007 Blatt „Jahr“ von Zelle D9:smiley:S23, sowie D28:smiley:V42 und D47:smiley:U60. Einfügen in Tabelle Monatsplan 2007, welche an einem anderen Ort abgelegt ist.

Folgendes habe ich probiert:
der Fehler liegt in Zeile ‚Workbook("…‘
Hier möchte ich sagen -> kopiere aus dem Jahresplan 2007 die Zellen D28:smiley:V42 und füge sie in Monatsplan 2007 Kopie ein.

Workbooks.Open Filename:="\dub-file-01\mre_c\C_Public\Alle\Abwesenheiten\FB CNG\CNG Jahresplan 2007.xls"
Range(„D9:smiley:S23“).Select
Selection.Copy
Sheets(„Jahr“).Select
Range(„D9“).Select
ActiveSheet.Paste
Workbooks("\dub-file-01\mre_c\C_Public\Alle\Abwesenheiten\FB CNG\CNG Jahresplan 2007.xls").Select
Range(„D28:smiley:V42“).Select
Selection.Copy
Sheets(„J:\CNG\2000 Ressourcenprozesse\2010 Personalmanagement\CNG Monatsplan 2007.xls!Jahr“).Select
Range(„D28“).Select
ActiveSheet.Paste
Sheets(„J:\C_Public\Alle\Abwesenheiten\FB CNG\CNG Jahresplan 2007.xls“).Select
Range(„D47:smiley:U60“).Select
Selection.Copy
Sheets(„J:\CNG\2000 Ressourcenprozesse\2010 Personalmanagement\CNG Monatsplan 2007.xls!Jahr“).Select
Range(„D47“).Select
ActiveSheet.Paste
End Sub

Wer hilft mir?

Workbooks.Open
Filename:="\dub-file-01\mre_c\C_Public\Alle\Abwesenheiten\FB
CNG\CNG Jahresplan 2007.xls"
Range(„D9:smiley:S23“).Select

davor solltest Du nochmal das richtige Sheet selektieren

Selection.Copy

Hier musst Du glaube ich die Zieldatei in den Vordergrund holen…
Windows(„Tabellenname“).Activate

Sheets(„Jahr“).Select
Range(„D9“).Select
ActiveSheet.Paste

Workbooks("\dub-file-01\mre_c\C_Public\Alle\Abwesenheiten\FB
CNG\CNG Jahresplan 2007.xls").Select

Hier (und in den folgenden Zeilen) gehört kein Pfad mehr hin sondern nurnoch der Dateiname!

Sheets(„J:\CNG\2000 Ressourcenprozesse\2010
Personalmanagement\CNG Monatsplan 2007.xls!Jahr“).Select
Sheets(„J:\C_Public\Alle\Abwesenheiten\FB CNG\CNG
Jahresplan 2007.xls“).Select
Sheets(„J:\CNG\2000 Ressourcenprozesse\2010
Personalmanagement\CNG Monatsplan 2007.xls!Jahr“).Select

HTH
Munich

Hallo Christian

in diesem Fall solltest du konsequent mit Objekt-Variablennamen arbeiten. Dann wird der Code übersichtlicher. Außerdem solltest du auf die Select und Activate Anweisungen komplett verzichten und die jeweiligen Objekte direkt ansprechen. Der Code schaut dann etwa so aus, wobei du evtl. die Tabellennamne noch anpassen muss.

Gruß
Franz

Sub Test()
 Dim wbZiel As Workbook, wbQuelle As Workbook
 Dim wksZiel As Worksheet, wksQuelle As Worksheet

 Set wbZiel = Workbooks("CNG Monatsplan 2007.xls") 'oder =ActiveWorkbook wenn das zutrifft
 Set wksZiel = wbZiel.Worksheets("Jahr")

 Set wbQuelle = Workbooks.Open(FileName:="\\dub-file-01\mre\_c\C\_Public\Alle\Abwesenheiten\FB CNG\CNG Jahresplan 2007.xls")
 Set wksQuelle = wbQuelle.Worksheets("Jahr")

 wksQuelle.Range("D9:smiley:S23").Copy Destination:=wksZiel.Range("D9:smiley:S23")
 wksQuelle.Range("D28:smiley:V42").Copy Destination:=wksZiel.Range("D28:smiley:V42")
 wksQuelle.Range("D47:smiley:U60").Copy Destination:=wksZiel.Range("D47:smiley:U60")
 Application.CutCopyMode = False

 wbQuelle.Close savechanges:=False
End Sub

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen herzlichen Dank.
Mittlerweile habe ich dies so gelöst:

Workbooks.Open Filename:="\dub-file-01\mre_c\CNG Jahresplan 2007.xls"
Range(„D9:smiley:S23“).Select
Selection.copy
Windows(„CNG Monatsplan 2007.xls“).Activate
Range(„D9“).Select
ActiveSheet.Paste
Windows(„CNG Jahresplan 2007.xls“).Activate
Range(„D28:smiley:V42“).Select
Selection.copy
Windows(„CNG Monatsplan 2007.xls“).Activate
Range(„D28“).Select
ActiveSheet.Paste
Windows(„CNG Jahresplan 2007.xls“).Activate
Range(„D47:smiley:U60“).Select
Selection.copy
Windows(„CNG Monatsplan 2007.xls“).Activate
Range(„D47“).Select
ActiveSheet.Paste
End Sub

Mir fehlt noch den Code, um das File „Jahresplan 2007“ wieder zu löschen. ?
Wieso soll denn Deine Version besser sein Franz?