Supportnet / Forum / Tabellenkalkulation
Werte kopieren in verbundene Zellen
Frage
Hallo, ich habe eine Frage zum VBA Quellcode,
ist eigentlich ganz simpel, aber irgendwie bekomme ich es nicht hin.
ich habe eine Arbeitsmappe
Windows(tool.xls).
Range("N88:O88").Copy
Windows("Tool.xls").Activate
Worksheets("Schätzung").Select
Range("G85").Copy
und möchte den Inhalt (eine Zahl, Verknüpfung zu einer anderen Zelle bzw. einem anderen Tabellenblatt dieser Mappe) in die Arbeitsmappe
Windows("Vorlage.xls").Activate
Worksheets("Vorlage Schätzung").Select
Range("R3:S3").Paste 'bzw. PasteSpecial.....
...in die verbundene Zelle R3:S3 einfügen.
Leider klappt das aber so nicht.
Vielen Dank für eure Hilfe!
Annika
Antwort 1 von M.O.
Hallo Annika,
mit dem Befehl
sollte es klappen.
Oder einfach so:
Damit sparst du die ganzen Copy, Activate und Paste Befehle.
(Der Code muss natürlich ohne Zeilenumbruch eingegeben werden)
Gruß
M.O..
mit dem Befehl
Range("R3").PasteSpecialsollte es klappen.
Oder einfach so:
Sub kopieren ()
Sheets("Vorlage Schätzung").Range("R3") = _Sheets("Schätzung").Range("G85")
End SubDamit sparst du die ganzen Copy, Activate und Paste Befehle.
(Der Code muss natürlich ohne Zeilenumbruch eingegeben werden)
Gruß
M.O..
Antwort 2 von annika231
...das
Sheets("Vorlage Schätzung").Range("R3") = _Sheets("Schätzung").Range("G85")
funktioniert leider nicht, da bekomme ich die Meldung "Index ausserhalb des gültigen Bereichs".
Auch sämtliche Varianten von PastSpecial habe ich versucht, klappt auch nicht. Da bekomme ich dann z.B. die Fehlermeldung
"Für diese Aktion müssen alle verbundenen Zellen dieselbe Größe haben" oder "...kann für das Range Objekt nicht ausgeführt werden"
Danke
Sheets("Vorlage Schätzung").Range("R3") = _Sheets("Schätzung").Range("G85")
funktioniert leider nicht, da bekomme ich die Meldung "Index ausserhalb des gültigen Bereichs".
Auch sämtliche Varianten von PastSpecial habe ich versucht, klappt auch nicht. Da bekomme ich dann z.B. die Fehlermeldung
"Für diese Aktion müssen alle verbundenen Zellen dieselbe Größe haben" oder "...kann für das Range Objekt nicht ausgeführt werden"
Danke
Antwort 3 von M.O.
Hallo Annika,
hatte leider übersehen, dass du zwei verschiedene Arbeitsmappen ansprichst :-(.
Hier also der verbesserte kurze Code, der nur die Werte kopiert:
Dein Code funktioniert bei mir in dieser Version:
Gruß
M.O.
hatte leider übersehen, dass du zwei verschiedene Arbeitsmappen ansprichst :-(.
Hier also der verbesserte kurze Code, der nur die Werte kopiert:
Sub kopieren()
Workbooks("Vorlage.xls").Sheets("Vorlage Schätzung").Range("R3") = Workbooks("Tool.xls").Sheets("Schätzung").Range("G85")
End SubDein Code funktioniert bei mir in dieser Version:
Sub kopieren_orginal()
Windows("Tool.xls").Activate
Worksheets("Schätzung").Select
Range("G85").Copy
Windows("Vorlage.xls").Activate
Worksheets("Vorlage Schätzung").Select
Range("R3").PasteSpecial
End SubGruß
M.O.

