VBA: Zellen als Wert kopieren

Bereiche kopieren und per VBA als Wert
(nicht Formel) einfügen

Im Nor­mal­fall wird beim kopieren eine echte Kopie der Zelle in den Ziel­bere­ich ein­fü­gen, also mit ein­er eventuell dort ste­hen­den Funk­tion. Beispiel:

Sub KopierenMitAllem()
   Range("A3").Copy Range("C1")
   'Alternative
   'Range("A3").Copy Destination:=Range("C3")
End Sub

Im gün­stig­sten Fall wird die (angepasste) Formel in C3 einge­fügt, im weniger gün­sti­gen Fall führt das zu ein­er Fehler­mel­dung (beispiel­sweise #BEZUG!). Soll nur das in der Quell-Zelle ste­hende Ergeb­nis kopiert wer­den, dann geht das so, wenn das Ziel im gle­ichen Blatt ist:

Sub KopierenAlsWert_1()
   Range("A3").Copy 
   Range("C3").PasteSpecial xlPasteValues
End Sub

Falls das Ziel in einem anderen Tabel­len­blatt liegt, kön­nte sich das so gestal­ten:

Sub KopierenAlsWert_2()
   Sheets("Tabelle1").Range("A3").Copy
   Sheets("Tabelle2").Range("C3").PasteSpecial xlPasteValues
End Sub
[NachOben­Let­zte Verweis=„CS: Bere­iche als Wert per VBA”]
Dieser Beitrag wurde unter Code-Schnipsel, Tabelle und Zelle abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.