Podobně jako v listu, když kopírujeme data a vkládáme je do jiného rozsahu buněk, máme speciální metodu pro vložení, která nám umožňuje vložit data sama o sobě nebo pouze vzorce nebo pouze hodnoty a stejným způsobem můžeme použít Vložit jinak ve VBA pomocí metoda vlastnosti range takto rozsah. vložte speciální () poskytující požadovaný typ v závorkách.
Vložte speciální do VBA
Paste Special in Excel slouží v naší každodenní práci mnoha způsoby. Pomocí speciální pasty dokážeme mnohem více věcí než obvykle. Zkopírujte a vložte je všude ve světě počítačů. Ale past speciální je pokročilá věc v aplikaci Excel.
Stejně jako běžné vložení aplikace Excel do VBA máme i speciální metodu pro vložení zkopírovaných dat. Kopírování věcí v aplikaci Excel není pro uživatele aplikace Excel neobvyklá věc, kopírují, vkládají a většinou používají paste specializovanou k mnoha účelům.

V běžném programu Excel obsahuje vložení mnoho možností, jako je vkládání pouze hodnot, vkládání vzorců, vkládání formátů atd.…

Paste special have to Paste, Operation, Skip Blanks, and Transpose like this in VBA too. Všechny parametry máme pomocí metody Paste Special .
The Formula of Paste Special in VBA
Níže je uveden vzorec pro vložení speciálu ve VBA

Vložit jinak je k dispozici s objektem VBA Range, protože po zkopírování dat je vložíme do oblasti buněk, takže je k dispozici speciální metoda vložit s objektem range .
Vložit typ: Po zkopírování dat, jak chcete vložit. Ať už chcete vložit hodnoty, vzorce, formáty, ověření atd.… Níže je uveden kompletní seznam možností dostupných v části Vložit typ.

Vložit speciální operaci: Chcete při vkládání provádět jakýkoli druh operací, jako je sčítání, odčítání, dělení, násobení nebo žádná.

- (Přeskočit mezery ): Pokud chcete mezery přeskočit, můžete zvolit PRAVDA nebo NEPRAVDA.
- (Transpose): Pokud chcete data transponovat, můžete zvolit PRAVDA nebo NEPRAVDA.
Příklady vložení speciálu v aplikaci Excel VBA
Následuje příklad vložení speciálního ve VBA.
Příklad č. 1 - Vkládání pouze hodnot pomocí funkce VBA PasteSpecial
V prvním příkladu provedeme vložení pouze hodnot pomocí paste special. Předpokládejme, že níže jsou data, která máte v názvu listu s názvem Data prodeje.

Nyní provedeme úlohu kopírování a vložení pomocí několika speciálních metod vložení. Postupujte podle následujících kroků.
Krok 1: Nejprve vytvořte název makra.

Krok 2: Nejprve zkopírujte rozsah A1 až D14 z názvu listu „Data prodeje“. Chcete-li rozsah zkopírovat, použijte níže uvedený kód.
Kód:
Rozsah („A1: D14“). Kopírovat

Krok 3: Po zkopírování dat vložíme hodnoty z G1 do J14. Nejprve uveďte rozsah.
Kód:
Rozsah („G1: J14“)

Krok 4: Po výběru rozsahu musíme vložit. Takže vložte tečku (.) A vyberte Vložit speciální metodu.
Kód:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial End Sub

Krok 5: V rozevíracím seznamu vyberte možnost „xlPasteValues“.
Kód:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial xlPasteValues End Sub

Krok 6: Nyní spusťte tento kód pomocí klávesy F5 nebo ručně a uvidíte, co se stane.

Náš kód tedy zkopíroval data z A1 do D14 a vložil z G1 do J14 jako hodnoty.
Bylo provedeno za úkol klávesové zkratky Excel v listu ALT + E + S + V .

Příklad č. 2 - Vložit vše pomocí VBA PasteSpecial
Nyní uvidíme, co se stane, pokud provedeme úkol xlPasteAll.
Kód:
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
- Chcete-li přeskočit mezery, musíte ve výchozím nastavení zadat argument jako PRAVDA. Trvá to NEPRAVDA.
- Pokud chcete data transponovat, musíme vybrat transpozici jako PRAVDA.
- Můžeme provést pouze jednu speciální pastu najednou.