Araligi Transpoze Etme

Ornek cok acik arakdaslar uzun uzun bir aciklamaya gerek yok. Normalde sadece bir satiri transpoze etmek istersen transpose   fonksiyonunu kullaniriz.

Bu ornek icin Transpose(A1:D1) seklinde bir satirlik 1,2,3,4 degerlerini transpoze edebiliriz fakat istegimiz tum yani 3 satiri birden transpoze edebilmek.

Bunu yapmak icin bir vba yaptik ve bunu sizlerlede paylasmak istedik..

Sub Araligi_Transpose()

    Dim Aralik As Range
    Dim Aralik_Disi As Range
    Dim Araligi_Transpose As Range

    Set Aralik = Sheet1.Range("Datalist")

    For Each Araligi_Transpose In Aralik.Rows
        Set Aralik_Disi = Range("F" & Rows.Count).End(xlUp)
        If Aralik_Disi.Row <> 1 Then Set Aralik_Disi = Aralik_Disi.Offset(1)
        Araligi_Transpose.Copy
        Aralik_Disi.PasteSpecial xlPasteValues, , , True
     Next

End Sub

Fonksiyonla Cozum icin;

Oncelikle Omer Bey`e cozum konusunda tesekkur ederim;

Satir ve sutun sayilarini toplattirarak asil formulumuz icin done olusturuyoruz;

=COLUMNS(verilistesi)

=ROWS(verilistesi)

Bu sonuclarimiza sutun_sayisi ve satir_sayisi isimlerini veriyoruz ve asil formulumuzu yaziyoruz;

=IF(ROWS(L$2:L2)>sutun_sayisi*satir_sayisi,””,OFFSET($A$1,ROUNDUP(ROWS(L$2:L2)/sutun_sayisi,0)-1,MOD(ROWS(L$2:L2)-1,sutun_sayisi)))

Araligi Transpoze Etme

Yazar: mmustafaaslan

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

“Araligi Transpoze Etme” için 2 yorum

  1. kodu açıklama adet br. fiyat tutar REF NO
    A KALEM 10 5 50 AA2
    B SİLG 5 5 25 AA3
    C DEFTER 5 3 15 AA2
    D KAĞIT 10 10 100 AA4
    E CETVEL 5 2 10 AA4

    Yukarıdaki gibi bir datam var başka bir sayfaya ref nolara göre toplam aldırarak
    AA2 65
    AA3 25
    AA4 110 Şeklinde ayrı bir data oluşturmak istiyorum bunu özet tablo ile yapmak çok kolay ancak bunlar her yeni mal geldiğinde dataya girilmesi gerekiyor bunu makro ile nasıl yapabilirim?

    Şimdiden teşekkürler

Bir Cevap Yazın

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


7 + 4 =