Vba'da bir aralığın transpoze edilmesi (örnekle)


VBA kullanarak bir aralığın yerini değiştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 SubTransposeRange ()

    'specify range to transpose
    MyRange = Range(" A1:B5 ")
    
    'find dimensions of range
    XUpper = UBound(MyRange, 1)
    XLower = LBound(MyRange, 1)
    YUpper = UBound(MyRange, 2)
    YLower = LBound(MyRange, 2)
    
    'transpose range
    Range(" D1 ").Resize(YUpper - YLower + 1, XUpper - XLower + 1).Value = _
      WorksheetFunction.Transpose(MyRange)
      
End Sub

Bu özel örnek, A1:B5 aralığındaki hücrelerin transpoze edilmesini sağlayacak ve D1 hücresinden başlayan transpoze edilmiş aralığı görüntüleyecektir.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA’da bir aralığın devri nasıl yapılır?

Diyelim ki Excel’de çeşitli basketbol oyuncuları hakkında bilgiler içeren aşağıdaki veri kümesine sahibiz:

Diyelim ki A1:B5 aralığının transpozesini yapmak ve D1 hücresinden başlayan transpoze edilmiş aralığı görüntülemek istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 SubTransposeRange ()

    'specify range to transpose
    MyRange = Range(" A1:B5 ")
    
    'find dimensions of range
    XUpper = UBound(MyRange, 1)
    XLower = LBound(MyRange, 1)
    YUpper = UBound(MyRange, 2)
    YLower = LBound(MyRange, 2)
    
    'transpose range
    Range(" D1 ").Resize(YUpper - YLower + 1, XUpper - XLower + 1).Value = _
      WorksheetFunction.Transpose(MyRange)
      
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Aktarılan aralığın D1 hücresinden başlayarak görüntülendiğini unutmayın.

Yani satırlar ve sütunlar ters çevrilmiştir.

Farklı bir aralığı transpoze etmek için makrodaki A1:B5’i farklı bir aralıkla değiştirmeniz yeterlidir.

Not : VBA Transpose yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Belirli bir metin içeren hücreler nasıl sayılır?
VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir