VBA Transpoze (Adım Adım) | VBA'da Transpoze Edilecek En İyi 2 Yöntem

Excel çalışma sayfasındaki transpoze fonksiyonunu çalışma sayfasına herhangi bir veri tablosunu yapıştırdığımızda gördük, transpose yaptığı şey satırların ve sütunların konumunu değiştirmesidir, yani satırlar sütunlar ve sütunlar bir veri tablosunda satırlar haline gelir, çünkü artık bir çalışma sayfasıdır. işlevini VBA'da Application.worksheet yöntemi ile kullanıyoruz.

VBA'da Nasıl Transpoze Edilir?

Satırları ve sütunları değiştirmek, neredeyse tüm kullanıcıların excel'de yaptığı veri işleme tekniklerinden biridir. Yatay veriyi düşey veriye, düşey veriyi yataya dönüştürme işlemine excel'de “Transpoze” denir. Düzenli bir çalışma sayfasında Transposing'e aşina olmanız gerektiğinden eminim, bu makalede transpoze yönteminin VBA kodlamasında nasıl kullanılacağını göstereceğiz.

İki yöntem kullanarak VBA'da transpoze edebiliriz.

  1. TRANSPOSE Formülünü Kullanarak Transpoze Edin.
  2. Özel Yapıştır Yöntemini Kullanarak Transpoze Edin.

Yer değiştirirken satırları sütunlara ve sütunları satırlara değiştiriyoruz. Örneğin veri 4 X 3 dizisindeyse 3 X 4 dizisi olur.

VBA'da sütunu satıra dönüştürmek için bazı örnekler görelim.

# 1 - TRANSPOSE Formülü Kullanarak VBA Transpozesi

TRANSPOSE'u Excel'de nasıl kullandığımıza benzer şekilde TRANSPOSE formülünü VBA'da da kullanabiliriz. VBA'da bir TRANSPOSE formülümüz yok, bu yüzden Worksheet Function sınıfı altında kullanmamız gerekiyor.

Bir örnek için aşağıdaki veri resmine bakın.

Bu değerler dizisini aktarmaya çalışacağız. Verileri değiştirmek için aşağıdaki adımları izleyin.

Adım 1: Alt prosedürü başlatın

Kod:

 Sub Transpose_Example1 () End Sub 

Adım 2: Öncelikle verileri nereye aktaracağımıza karar vermeliyiz. Bunda, D1 hücresinden H2'ye geçiş yapmayı seçtim. Bu nedenle, VBA kodunu Aralık ("D1: H2") olarak girin. Değer =

Kod:

 Alt Transpoze_Örnek1 () Aralık ("D1: H2"). Değer = Son Alt 

Adım 3: Şimdi yukarıda belirtilen aralıkta A1 ila B5 aralığının değerine ihtiyacımız var. Bu açık “Çalışma Sayfası Fonksiyonu” sınıfına ulaşmak için “Transpoze” formülünü seçin.

Adım 4: In Arg 1 besleme veri kaynağı, yani aralığı ( “: D5 A1”) aralığı .

Kod:

 Alt Transpoze_Örnek1 () Aralık ("D1: H2"). Değer = Çalışma SayfasıFonksiyonu.Transpose (Aralık ("A1: D5")) Son Alt 

Tamam, TRANSPOSE formül kodlamasını bitirdik. Şimdi sonucu D1 ila H2 hücre aralığında görmek için kodu çalıştırın.

Yukarıdaki görüntüde gördüğümüz gibi, hücre aralığını sütunlardan satırlara dönüştürdü.

# 2 - Özel Yapıştır Yöntemiyle VBA Transpoze Etme

Özel Yapıştır yöntemini kullanarak da aktarabiliriz. Bu örnek için de aynı verileri düşünün.

Aktarmak için yapmamız gereken ilk şey verileri kopyalamaktır. Bu yüzden kodu Aralık ("A1: B5") olarak yazın.

Kod:

 Alt Transpoze_Örnek2 () Aralık ("A1: B5"). Son Alt Kopyala 

Sonraki şey, verileri nereye yapıştıracağımıza karar vermemiz gerektiğidir. Bu durumda, istenen hedef hücre olarak D1'i seçtim.

Kod:

Alt Transpoze_Örnek2 () Aralık ("A1: B5"). Kopyalama Aralığı ("D1"). Sub

İstenen hedef hücre seçildikten sonra "Özel Yöntemi Yapıştır" ı seçmemiz gerekir.

Özel yapıştır ile sahip olduğumuz tüm işlemleri bir çalışma sayfasına düzenli yapıştırma özel yöntemlerle gerçekleştirebiliriz.

Tüm parametreleri göz ardı edin ve son parametreyi seçin, yani Transpoze edin ve bunu TRUE yapın.

Kod:

 Alt Transpoze_Örnek2 () Aralık ("A1: B5"). Kopyalama Aralığı ("D1"). PasteSpecial Transpoze: = True End Sub 

Bu aynı zamanda verileri önceki yöntem gibi aktaracaktır.

Bunun gibi, satırları sütunlara ve sütunları satırlara dönüştürmek için verileri değiştirmek için TRANSPOSE formülünü veya Özel Yapıştır yöntemini kullanabiliriz.

Hatırlanacak şeyler

  • TRANSPOSE çalışma sayfası işlevini kullanıyorsak, verileri değiştirmek için bir dizi satır ve sütun hesaplamak zorunludur. 5 satır ve 3 sütunumuz varsa, transpoze ederken 3 satır ve 5 sütun olur.
  • Özel yapıştır'ı kullanırken aynı biçimlendirmeyi istiyorsanız, "xlPasteFormats" olarak Tür Yapıştır bağımsız değişkenini kullanmanız gerekir.

Bu VBA Transpose Excel Şablonunu buradan indirebilirsiniz - VBA Transpose Excel Şablonu