niedziela, 8 lipca 2012

Jak w Excel skopiować komórkę wraz z formatowaniem?

Najbardziej oczywistą metodą kopiowania zawartości komórek arkusza kalkulacyjnego jest przepisanie wartości z jednej do drugiej komórki:

Workbooks("Dokument").Worksheets("Arkusz").Cells(1, 1).Value = _
Workbooks("Dokument").Worksheets("Arkusz").Cells(1, 2).Value


Powyższa metoda nie kopiuje formatowania komórek a jedynie przenosi wartości.
Użytkownicy pracując z arkuszem Excel często wprowadzają poprawki uzupełniając tekst w komórce, wykreślając poszczególne słowa, i wyróżniając inne. Często naniesione formatowanie jest równie istotne jak sama treść komórki.
Aby skopiować tak sformatowane dane wykorzystajmy poniższy kod:

Workbooks("Dokument").Worksheets("Arkusz").Range("A1").Copy
Workbooks("Dokument").Worksheets("Arkusz").Range("A2").PasteSpecial _
Paste:= xlPasteAllExceptBorders


Za pomocą wyrażenia Paste:= xlPasteAllExceptBorders określamy sposób wklejenia skopiowanych danych - w naszym przypadku wklejone zostaną dane z komórki wraz z formatowaniem ale bez obramowań. Możemy korzystać z następujących form parametru Paste:
xlPasteAll Wklejone zostaną wszystkie dane
xlPasteAllExceptBorders Wklejone zostaną dane bez obramowań komórek
xlPasteAllUsingSourceTheme Wszystko zostanie wklejone wykorzystując źródłowy schemat kolorów
xlPasteColumnWidths Wklejone zostaną tylko szerokości kolumn
xlPasteComments Wklejone zostaną tylko komentarze
xlPasteFormats Wkleone zostanie wyłącznie formatowanie
xlPasteFormulas Wklejone zostaną formuły
xlPasteFormulasAndNumberFormats Wklejone zostaną formuły oraz format liczb
xlPasteValidation Wklejone zostaną walidacje
xlPasteValues Wklejone zostaną wyłącznie wartości
xlPasteValuesAndNumberFormats Wklejone zostaną wartości oraz format liczb
I jeszcze jedno: powyższa metoda jest znacznie wolniejsza niż kopiowanie wyłącznie samych wartości komórek!

Brak komentarzy:

Prześlij komentarz