Jak zastosować VBA PasteSpecial i zachować formatowanie źródłowe w Excelu

  • Udostępnij To
Hugh West

Są jednak sytuacje, w których chcemy powielić coś więcej niż tylko tekst. Możemy skopiować wszystkie możliwości Excela, takie jak formatowanie warunkowe, sprawdzanie poprawności danych, formatowanie typu danych oraz funkcje estetyczne, takie jak obramowania i kolory komórek. Być może podziwiasz schemat kolorów swojego współpracownika, ale potrzebujesz statycznych danych, a może formuły są fantastyczne, ale nie lubisz schematu kolorów.W tym tutorialu pokażemy VBA WklejSpecial i zachowaj formatowanie źródła w Excelu.

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.

VBA PasteSpecial.xlsm

4 Proste przykłady zastosowania VBA PasteSpecial i zachowania formatowania źródła w Excelu

Zademonstrujemy cztery przykłady użycia funkcji paste special w VBA zachowując format źródłowy w sekcjach poniżej. Oto przykładowy zestaw danych, który wykorzystamy do kopiowania i wklejania.

1. dodaj pole wejściowe za pomocą VBA PasteSpecial i zachowaj formatowanie źródła w Excelu

Przede wszystkim.Będziemy używać pola, aby wybrać zakres, a następnie wkleić go do innej komórki.Aby to zrobić, wykonaj poniższe kroki.

Krok 1:

  • Po pierwsze, naciśnij Alt + F11 rozpocząć Makro .
  • Następnie należy kliknąć na Wkładka, wybrać Moduł opcja.

Krok 2:

  • Wklej następujący kod VBA.
 Sub PasteSpecialKeepFormat() 'zadeklaruj CopyCell i PasteCell jako zmienne zakresowe Dim CopyCell As Range, PasteCell As Range 'Nadaj nazwę polu wejściowemu xTitleId = "ExcelWIKI" 'Ustaw zakres kopiowania będzie wybierany z arkusza Set CopyCell = Application.Selection 'Ustaw pole wejściowe, aby pobrać zakres do kopiowania z Set CopyCell = Application.InputBox("Wybierz zakres do kopiowania :", xTitleId, CopyCell.Address,Type:=8) 'Ustaw Input Box, aby pobrać zakres do wklejenia Set PasteCell = Application.InputBox("Wklej do dowolnej pustej komórki:", xTitleId, Type:=8) 'Polecenie kopiowania zaznaczonego zakresu CopyCell.Copy 'Polecenie wklejania zakresu PasteCell.Parent.Activate 'Polecenie wklejania komórek, aby zachować formatowanie źródłowe PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

Krok 3:

  • Zapisz program i naciśnij F5 aby go uruchomić.
  • Po pojawieniu się 'ExcelWIKI' zaznaczyć zakres $B$4:$C$11 .
  • Kliknij OK .

Krok 4:

  • Wybierz dowolną pustą komórkę do wklejenia.
  • Następnie kliknij OK.

  • Dlatego uzyskasz wartość pasty, zachowując nienaruszony format.

Read More: Różnica między Wklej a Wklej Specjalnie w Excelu

2. zastosuj VBA PasteSpecial do zaznaczenia zakresu i zachowania formatowania źródłowego w Excelu

W VBA , możesz również określić zakresy i skopiować je i wkleić, zachowując formatowanie źródłowe. Wykonaj nakreślone kroki poniżej, aby to zrobić.

Krok 1:

  • Naciśnij Alt + F11 otworzyć Makro .
  • Utwórz nowy moduł z Wkładka
  • Po prostu, wklej następujące elementy VBA kod dla zakresu B4:C11 .
 Sub pasteSpecial_KeepFormat() 'wybierz zakres do skopiowania Range("B4:C11").Copy 'wybierz komórkę do wklejenia 'Polecenie wklejeniaSpecial zachowujące Format Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Na koniec zapisz program i naciśnij F5 w celu uruchomienia. W rezultacie zobaczysz zmiany, jak pokazano na poniższym obrazku.

Read More: VBA Wklej Specjalne do kopiowania wartości i formatów w Excelu (9 przykładów)

Podobne lektury

  • Kod VBA do porównania dwóch arkuszy Excela i skopiowania różnic
  • Excel VBA: Kopiuj wartość komórki i wklej do innej komórki
  • Jak skopiować wiele komórek do innego arkusza w programie Excel (9 metod)
  • Excel VBA: Kopiowanie zakresu do innego skoroszytu
  • [Naprawiono]: Kopiowanie i wklejanie prawym przyciskiem myszy nie działa w Excelu (11 rozwiązań)

3. zadeklarować zmienną przez zastosowanie VBA PasteSpecial i zachować formatowanie źródła w Excelu

Deklarując zmienne i ustawiając zmienne na różne zakresy, wykonaj poniższe kroki, aby wkleićSpecial w VBA .

Krok 1:

  • Po pierwsze, naciśnij Alt + F11 otworzyć Makro VBA .
  • Wybierz nowy Moduł .
  • Następnie wklej następujące elementy Kod VBA .
 Sub Copy_Paste_Special() 'Deklaruj zmienne Dim kopia_Rng As Range, Wklej_Range As Range 'Polecenie kopiowania zakresu Set kopia_Rng = Range("B4:C11") 'Polecenie wklejania zakresu Set Wklej_Range = Range("E4") kopia_Rng.Copy 'Wklej polecenie do pasteSpecial z zachowaniem formatu Wklej_Range.WklejSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Po zapisaniu programu naciśnij F5 do uruchomienia.
  • Dlatego Twój skopiowany zakres zostanie wklejony z zachowaniem formatowania źródła jak poprzednio.

Read More: Jak używać VBA PasteSpecial dla formuł i formatów w Excelu (3 sposoby)

4) Użyj VBA PasteSpecial i zachować formatowanie źródła w innym arkuszu w Excelu

W tej części porozmawiamy o bardzo ważnej metodzie. Ponieważ przejdziemy przez to jak używać PasteSpecial w VBA w wielu skoroszytach. Na przykład, skopiujemy z 'Arkusz4' i wklej go do 'Arkusz5. ,' jak pokazano w poniższych krokach.

Krok 1:

  • Aby otworzyć Makro VBA , naciśnij Alt + F11
  • Z. Wkładka zakładka, wybierz Moduł.
  • Następnie wklej następujące elementy VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Deklaruj zmienne Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Ustaw miejsce docelowe zakresu do zmiennej Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'ustaw miejsce docelowe wklejanych komórek 'Dla komórki E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Polecenie kopiowania zakresu copyRng.Range("B4:C11").Copy 'Polecenie wklejania zakresu Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Krok 2:

  • Aby uruchomić program, naciśnij F5 po zapisaniu programu.
  • Dlatego otrzymamy wartość wklejoną w arkusz 5 z zachowaniem formatu źródłowego.

Read More: Jak używać polecenia Wklej Specjalnie w Excelu (5 odpowiednich sposobów)

Wniosek

Podsumowując, mam nadzieję, że teraz wiesz jak używać Excel VBA do Paste Special Zachowaj formatowanie źródła. Wszystkie te strategie powinny być nauczane do swoich danych i używane do nich. Zbadaj książkę ćwiczeń i zastosuj to, czego się nauczyłeś. Jesteśmy zmotywowani do kontynuowania wykładów takich jak te ze względu na twoje ważne wsparcie.

W razie jakichkolwiek pytań prosimy o kontakt, a także o podzielenie się swoimi przemyśleniami w polu komentarzy poniżej.

Na Państwa pytania odpowie jak najszybciej Exceldemy personel.

Zostań z nami i kontynuuj naukę.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.