VBA Özel Yapıştır - VBA PasteSpecial Function'ı Kullanmanın En İyi 5 Yolu?

Bir veriyi kopyalayıp farklı bir hücre aralığına yapıştırdığımızda çalışma sayfasına benzer şekilde, verileri kendisi olarak veya sadece formülleri veya sadece değerleri ve aynı şekilde yapıştırmamızı sağlayan özel bir yapıştırma yöntemimiz var. range özelliği yöntemi aşağıdaki aralıktır. parantez içinde istediğimiz türü sağlayarak özel () yapıştırın.

VBA'ya Özel Yapıştır

Excel'de Paste Special günlük çalışmalarımızda birçok yönden hizmet vermektedir. Özel yapıştır kullanarak normalden çok daha fazla şey yapabiliriz. Kopyala ve yapıştır, bilgisayar dünyasının her yerinde var. Ancak özel yapıştır, excel'deki gelişmiş şeydir.

VBA'ya özel normal excel yapıştırma gibi, kopyalanan verileri yapıştırmak için özel bir yöntem yapıştırdık. Excel'deki şeyleri kopyalamak, Excel kullanıcıları için garip bir şey değildir, kopyalarlar, yapıştırırlar ve çoğu zaman, birçok yönden amaçlarına hizmet etmek için özel yapıştır kullanırlar.

Normal excel'de yapıştır, yalnızca değerleri yapıştır, formülleri yapıştır, formatları yapıştır vb. Gibi birçok seçeneği içerir.

Yapıştırmak , Çalıştırmak, Boşlukları Atlamak ve VBA'da da Transpoze Etmek zorunda özel yapıştırın . Özel Yapıştır yöntemi ile tüm parametrelere sahibiz .

VBA'da Özel Yapıştırın Formülü

VBA'da Özel Yapıştır Formülü aşağıdadır

Özel Yapıştır, VBA Range nesnesiyle kullanılabilir, çünkü verileri kopyaladıktan sonra hücre aralığına yapıştıracağız, bu nedenle özel yapıştır yöntemi aralık nesnesiyle kullanılabilir.

Yapıştır Türü: Verileri kopyaladıktan sonra nasıl yapıştırmak istiyorsunuz? Değerleri, formülleri, formatları, doğrulama vb. Yapıştırmak isteyip istemediğinizi… Yapıştır Türü altında bulunan seçeneklerin tam listesi aşağıdadır .

Özel İşlemi Yapıştır: Yapıştırırken toplama, çıkarma, bölme, çarpma veya hiçbiri gibi herhangi bir işlem yapmak ister misiniz?

  • (Boşlukları Atla): Boşlukları atlamak istiyorsanız, DOĞRU veya YANLIŞ'ı seçebilirsiniz.
  • (Transpoze): Verileri transpoze etmek istiyorsanız, DOĞRU veya YANLIŞ'ı seçebilirsiniz.

Excel VBA'da Özel Yapıştır örnekleri

Aşağıdakiler, VBA'da özel macun örnekleridir.

Örnek 1 - VBA PasteSpecial İşlevini kullanarak yalnızca Değerleri yapıştırın

İlk örnekte, özel yapıştır kullanarak sadece değerleri yapıştıracağız. Satış Verileri adlı sayfa adında sahip olduğunuz verilerin aşağıda olduğunu varsayalım.

Şimdi birkaç özel yapıştırma yöntemini kullanarak kopyalayıp yapıştırma görevini gerçekleştireceğiz. Aşağıdaki adımları izleyin.

Adım 1: Önce bir makro adı oluşturun.

2. Adım: Önce, "Satış Verileri" sayfa adından A1 - D14 aralığını kopyalayın. Aralığı kopyalamak için aşağıdaki kodu uygulayın.

Kod:

Aralık ("A1: D14"). Kopyala

Adım 3: Verileri kopyaladıktan sonra, değerleri G1'den J14'e yapıştıracağız. İlk önce aralığı referans alın.

Kod:

Aralık ("G1: J14")

Adım 4: Aralığı seçtikten sonra yapıştırmamız gerekiyor. Bu yüzden bir nokta (.) Koyun ve Özel Yapıştır yöntemini seçin.

Kod:

Alt Yapıştır Özel_Örnek1 () Aralık ("A1: D14"). Kopyalama Aralığı ("G1: J14"). Özel Son Alt Yapıştır

Adım 5: Açılır listeden "xlPasteValues" seçeneğini seçin .

Kod:

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

Adım 6: Şimdi bu kodu F5 tuşunu kullanarak veya manuel olarak çalıştırın ve ne olacağını görün.

Böylece kodumuz verileri A1'den D14'e kopyaladı ve G1'den J14'e değerler olarak yapıştırdı.

ALT + E + S + V çalışma sayfasındaki kısayol excel tuşu görevini gerçekleştirmiştir .

Örnek 2 - VBA PasteSpecial kullanarak Tümünü Yapıştır

Şimdi xlPasteAll görevini gerçekleştirirsek ne olacağını göreceğiz.

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

  • Boşlukları atlamak istiyorsanız, bağımsız değişkeni varsayılan olarak DOĞRU olarak girmeniz gerekir. YANLIŞ alır.
  • Veriyi transpoze etmek istiyorsanız, transpoze TRUE olarak seçmemiz gerekir.
  • Bir seferde sadece bir özel yapıştırma yapabiliriz.

Ilginç makaleler...