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?