Vba: jak wkleić wartości i zachować formatowanie
Możesz użyć następującej składni w VBA, aby skopiować zakres komórek i wkleić wartości oraz formatowanie źródłowe do nowej lokalizacji:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
To konkretne makro skopiuje komórki z zakresu A1:C11 i wklei wartości komórek wraz z ich formatowaniem do zakresu zaczynającego się od komórki A13 .
Uwaga : Linia Application.CutCopyMode = False określa, że po uruchomieniu makra należy wyłączyć tryb wycinania i kopiowania.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: wklej wartości i kontynuuj formatowanie za pomocą VBA
Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:
Załóżmy, że chcemy skopiować i wkleić wszystkie wartości z zakresu A1:C11 do nowej lokalizacji i zachować formatowanie.
W tym celu możemy utworzyć następujące makro:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy pamiętać, że oryginalne wartości komórek zostały wklejone wraz z ich formatowaniem do zakresu komórek rozpoczynającego się od komórki A13 .
Uwaga : Pełną dokumentację metody VBA PasteSpecial można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak wkleić same wartości bez formatowania
VBA: Jak skopiować widoczne linie na inny arkusz
VBA: skopiuj wiersze do innego arkusza na podstawie kryteriów