VBA Wklej specjalnie

Podobnie jak w przypadku arkusza roboczego, gdy kopiujemy dane i wklejamy je w innym zakresie komórek, mamy specjalną metodę wklejania, która pozwala nam wkleić dane jako siebie lub tylko formuły lub tylko wartości i ten sam sposób, w jaki możemy użyć Wklej specjalnie w VBA za pomocą metoda właściwości zakresu w następujący sposób range. wklej special (), podając w nawiasach odpowiedni typ.

Wklej specjalnie w VBA

Pasta specjalna w programie Excel służy na wiele sposobów w naszej codziennej pracy. Używając pasta special możemy zrobić o wiele więcej rzeczy niż zwykle. Kopiuj i wklej jest wszędzie w świecie komputerów. Ale wklej specjalnie jest zaawansowaną rzeczą w programie Excel.

Podobnie jak zwykłe wklejanie Excela specjalne w VBA, również mamy specjalną metodę wklejania skopiowanych danych. Kopiowanie rzeczy w programie Excel nie jest dziwne dla użytkowników programu Excel, kopiują, wklejają i przez większość czasu używają wklejania specjalnego, aby służyć swoim celom na wiele sposobów.

W zwykłym programie Excel wklejanie zawiera wiele opcji, takich jak wklejanie tylko wartości, wklejanie formuł, wklejanie formatów itp.

Wklej specjalnie trzeba wklejać, operować, pomijać puste miejsca i transponować w ten sposób w VBA również mamy wszystkie parametry z metodą Wklej specjalnie .

Formuła wklejania specjalnego w VBA

Poniżej znajduje się wzór na wklejanie specjalne w VBA

Opcja Wklej specjalnie jest dostępna z obiektem Zakres VBA, ponieważ po skopiowaniu danych będziemy je wklejać w zakresie komórek, więc w przypadku obiektu zakresu dostępna jest specjalna metoda wklejania .

Typ wklejania: Po skopiowaniu danych, jak chcesz wkleić. Czy chcesz wkleić wartości, formuły, formaty, walidację itp. Poniżej znajduje się pełna lista opcji dostępnych w obszarze Typ wklejania.

Wklej operację specjalną: Czy podczas wklejania chcesz wykonać jakiekolwiek operacje, takie jak dodawanie, odejmowanie, dzielenie, mnożenie lub brak.

  • [Skip Blanks]: Jeśli chcesz pominąć puste miejsca, możesz wybrać TRUE lub FALSE.
  • [Transpose]: Jeśli chcesz transponować dane, możesz wybrać TRUE lub FALSE.

Przykłady wklejania specjalnego w Excel VBA

Poniżej znajdują się przykłady wklejania specjalnego w VBA.

Możesz pobrać ten specjalny szablon wklejania VBA tutaj - specjalny szablon wklejania VBA

Przykład 1 - Wklej tylko wartości za pomocą funkcji VBA PasteSpecial

W pierwszym przykładzie wklejamy tylko wartości za pomocą funkcji paste special. Załóżmy, że poniżej znajdują się dane, które masz w nazwie arkusza o nazwie Dane sprzedaży.

Teraz wykonamy zadanie kopiowania i wklejania za pomocą kilku specjalnych metod wklejania. Wykonaj poniższe kroki.

Krok 1: Najpierw utwórz nazwę makra.

Krok 2: Najpierw skopiuj zakres od A1 do D14 z nazwy arkusza „Dane sprzedaży”. Aby skopiować zakres, zastosuj poniższy kod.

Kod: 

Zakres („A1: D14”). Kopiuj

Krok 3: Po skopiowaniu danych wklejamy wartości z G1 do J14. Najpierw odwołaj się do zakresu.

Kod:

Zakres („G1: J14”)

Krok 4: Po wybraniu zakresu musimy wkleić. Więc wstaw kropkę (.) I wybierz metodę Wklej specjalnie.

Kod:

 Sub PasteSpecial_Example1 () Range („A1: D14”). Copy Range („G1: J14”). PasteSpecial End Sub 

Krok 5: Z rozwijanej listy wybierz opcję „xlPasteValues”.

Kod:

 Sub PasteSpecial_Example1 () Range („A1: D14”). Copy Range („G1: J14”). PasteSpecial xlPasteValues ​​End Sub 

Krok 6: Teraz uruchom ten kod za pomocą klawisza F5 lub ręcznie i zobacz, co się stanie.

Więc nasz kod skopiował dane z A1 do D14 i wklejony z G1 do J14 jako wartości.

Występował zadanie skrót klawiszowy Excel w arkuszu Alt + E + S + V .

Przykład # 2 - Wklej wszystko za pomocą VBA PasteSpecial

Teraz zobaczymy, co się stanie, jeśli wykonamy zadanie xlPasteAll.

Kod:

 Sub PasteSpecial_Example2 () Range („A1: D14”). Copy Range („G1: J14”). PasteSpecial xlPasteAll End Sub 

Teraz, jeśli uruchomisz ten kod ręcznie za pomocą opcji uruchamiania lub naciskając klawisz F5, będziemy mieć dane.

Przykład # 3 - Wklej formaty za pomocą funkcji VBA PasteSpecial

Teraz zobaczymy, jak wkleić tylko formaty. Poniższy kod załatwi sprawę za nas.

Kod:

 Sub PasteSpecial_Example3 () Range („A1: D14”). Copy Range („G1: J14”). PasteSpecial xlPasteFormats End Sub 

Jeśli uruchomisz ten kod za pomocą klawisza F5 lub ręcznie, otrzymamy jedyny format skopiowanego zakresu nic więcej.

Przykład # 4 - Wklej szerokość kolumny za pomocą VBA Wklej specjalnie

Teraz zobaczymy, jak wkleić tylko szerokość kolumny ze skopiowanego zakresu. W tym celu zwiększyłem szerokość jednej z moich kolumn danych.

Zastosuj poniższy kod, wklei tylko szerokość kolumny skopiowanego zakresu.

Kod:

 Sub PasteSpecial_Example3 () Range („A1: D14”). Copy Range („G1: J14”). PasteSpecial xlPasteColumnWidths End Sub 

Uruchom ten kod i zobacz różnicę w szerokości kolumny.

Teraz widzimy, że szerokość kolumny Sales została zwiększona do szerokości naszej skopiowanej kolumny zakresu.

Przykład # 5 - Skopiuj dane z jednego arkusza do innego arkusza za pomocą opcji specjalnej VBA Wklej

Widzieliśmy, jak skopiować i wkleić dane w tym samym arkuszu. Teraz dowiemy się, jak wkleić z jednego arkusza do drugiego.

Krok 1: Zanim wybierzemy zakres, musimy powiedzieć, z którego arkusza musimy wybrać dane.

Kod:

 Sub PasteSpecial_Example5 () Arkusze robocze ("Dane sprzedaży") End Sub 

Krok 2: Po wybraniu arkusza według jego nazwy musimy wybrać zakres w tym arkuszu. Skopiuj to.

Kod:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy End Sub 

The above code says in the sheet name “Sales Data” copy the Range (“A1:D14”)

Step 3: Since we are pasting it in the different sheet we need to select the sheet by its name.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets ("Month Sheet") End Sub 

Step 4: Now in the sheet “Month Sheet” select the range.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range ("A1:D14") End Sub 

Step 5: Using Paste special we will be pasting values and format.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats End Sub 

Step 6: We are not only pasting values and format using VBA Paste Special but we are pasting it as TRANSPOSE as well.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats, Transpose:=True End Sub 

Now run this code it will copy and transpose the data to “Month Sheet”.

Things to Remember About Excel VBA PasteSpecial Function

  • If you want to skip blanks you need to enter the argument as TRUE by default it takes FALSE.
  • If you want to transpose the data we need to select the transpose as TRUE.
  • We can perform only one paste special at a time.