VBA Wklej specjalnie - 5 najlepszych sposobów korzystania z funkcji VBA PasteSpecial?

Spisie treści

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 żądany typ.

Wklej specjalnie w VBA

Pasta specjalna w programie Excel służy na wiele sposobów w naszej codziennej pracy. Korzystając z paste 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 również w VBA, 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 również w VBA. Wszystkie parametry mamy w metodzie Paste Special .

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, w jaki sposób chcesz wkleić. Niezależnie od tego, 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.

  • (Pomiń puste miejsca): Jeśli chcesz pominąć puste miejsca, możesz wybrać TRUE lub FALSE.
  • (Transpozycja): Jeśli chcesz przetransponować dane, możesz wybrać TRUE lub FALSE.

Przykłady wklejania specjalnego w Excel VBA

Poniżej znajdują się przykłady wklejania specjalnego w 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

Now, if you run this code manually through the run option or by pressing the F5 key, we will have as it is data.

Example #3 - Paste Formats using VBA PasteSpecial Function

Now we will see how to paste only formats. The Below code would do the job for us.

Code:

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

If you run this code using the F5 key or manually, we will get the only format of the copied range, nothing else.

Example #4 - Paste Column Width using VBA Paste Special

Now we will see how to paste only column width from the copied range. For this, I have increased the column width for one of my data columns.

Apply the below code it will paste only the column width of the copied range.

Code:

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

Run this code and see the difference in the column width.

Now we can see Sales column width has been increased to the column width of our copied range column.

Example #5 - Copy the Data from One Sheet to Another Sheet using VBA Paste Special Option

We have seen how to copy and paste the data on the same sheet. Now we will how to paste from one sheet to another sheet.

Step 1: Before we select the range, we need to tell from which sheet we need to select the data.

Code:

Sub PasteSpecial_Example5() Worksheets ("Sales Data") End Sub

Step 2: After selecting the sheet by its name, then we need to select the range in that sheet. The copy it.

Code:

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 a 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 the “Month Sheet.”

Things to Remember About Excel VBA PasteSpecial Function

  • Jeśli chcesz pominąć spacje, musisz domyślnie wprowadzić argument jako PRAWDA. To trwa FAŁSZ.
  • Jeśli chcesz przetransponować dane, musimy wybrać transpozycję jako TRUE.
  • W danym momencie możemy wykonać tylko jedną pastę specjalną.

Interesujące artykuły...