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 VBAPrzykł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.