• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Alt Alta Satırları Sütunlara Sıralamak

Katılım
14 Eylül 2020
Mesajlar
56
Excel Vers. ve Dili
2019
Arkadaşlar günaydın,

Elimde çok satırlı bir veri var, bunları her şube için yan yana sıralamak istiyorum. Manuel yapmak çok fazla zaman alıyor. Bunu nasıl otomatik bir hale getirebiliriz?

Ekte dosyayı paylaşmış bulunmaktayım.

İyi çalışmalar dilerim.

 
Arkadaşlar günaydın,

Elimde çok satırlı bir veri var, bunları her şube için yan yana sıralamak istiyorum. Manuel yapmak çok fazla zaman alıyor. Bunu nasıl otomatik bir hale getirebiliriz?

Ekte dosyayı paylaşmış bulunmaktayım.

İyi çalışmalar dilerim.


Aradığınız böyle bir şey mi?

 
Oradaki dosya linki silinmiş örneği göremedim. Örnek dosyayı eklemiştim esasında iletiye.

a
1
2
3
4
5
6


Düzenindeki verilerin A altında
123
456 şekline gelmesini istiyorum ancak ekte attığım çok katmanlı olduğu için transpose ile mümkün olmuyor.
 
Merhaba,

Paylaştığınız dosyanızda ham hali bu ben bu şekle dönüşmesini istiyorum şeklinde örneklendirirseniz konu daha net anlaşılacaktır.
 
Haklısınız, ekteki dosyaya hem ilk halini hem de elde etmek istediğim halini paylaştım.
Makrolu ya da makrosuz nasıl bir çözüm bulabiliriz paylaşırsanız sevinirim.

 
Merhaba,

Biçimleri hariç aktarım için deneyiniz.

Kod aynı sayfanın "K" sütunundan itibaren yeni düzenlenmiş listeyi aktarır.

C++:
Option Explicit

Sub Verileri_Duzenle()
    Dim Zaman As Double, S1 As Worksheet, Y As Byte
    Dim Son As Long, Veri As Variant, X As Long, Say As Long
    
    Zaman = Timer
    
    Set S1 = Sheets("Sayfa1")
    
    S1.Range("K:Y").Clear
    
    Son = S1.Cells(S1.Rows.Count, 2).End(3).Row
    If Son = 1 Then Son = 2
    
    Veri = S1.Range("B1:G" & Son).Value
    
    ReDim Liste(1 To Son, 1 To 15)
    
    For X = LBound(Veri) To UBound(Veri)
        If X = 1 Then
            Say = Say + 1
            Liste(Say, 1) = Veri(X, 1)
            Liste(Say, 2) = Veri(X, 2)
            Liste(Say, 3) = Veri(X, 3)
            Liste(Say, 4) = Veri(X, 4)
            Liste(Say, 8) = Veri(X, 5)
            Liste(Say, 12) = Veri(X, 6)
            GoTo 10
        End If
        
        For Y = 1 To 3
            Say = Say + 1
            Select Case Y
                Case 1
                    Liste(Say, 1) = Veri(Say, 1)
                    Liste(Say, 2) = Veri(Say, 2)
                    Liste(Say, 3) = Veri(Say, 3)
                    Liste(Say, 4) = Veri(Say, 4)
                    Liste(Say, 5) = Veri(Say, 4)
                
                    Liste(Say, 6) = Veri(Say + 1, 4)
                    Liste(Say, 7) = Veri(Say + 2, 4)
                    
                    Liste(Say, 8) = Veri(Say, 5)
                    Liste(Say, 9) = Veri(Say, 5)
                    Liste(Say, 10) = Veri(Say + 1, 5)
                    Liste(Say, 11) = Veri(Say + 2, 5)
                    
                    Liste(Say, 12) = Veri(Say, 6)
                    Liste(Say, 13) = Veri(Say, 6)
                    Liste(Say, 14) = Veri(Say + 1, 6)
                    Liste(Say, 15) = Veri(Say + 2, 6)
                
                Case 2, 3
                    Liste(Say, 1) = Veri(Say, 1)
                    Liste(Say, 2) = Veri(Say, 2)
                    Liste(Say, 3) = Veri(Say, 3)
                    Liste(Say, 4) = Veri(Say, 4)
                    Liste(Say, 5) = ""
                
                    Liste(Say, 6) = ""
                    Liste(Say, 7) = ""
                    
                    Liste(Say, 8) = Veri(Say, 5)
                    Liste(Say, 9) = ""
                    Liste(Say, 10) = ""
                    Liste(Say, 11) = ""
                    
                    Liste(Say, 12) = Veri(Say, 6)
                    Liste(Say, 13) = ""
                    Liste(Say, 14) = ""
                    Liste(Say, 15) = ""
                    If Y = 3 Then X = X + 2
            End Select
        Next
10  Next
    
    S1.Range("K1").Resize(UBound(Liste, 1), UBound(Liste, 2)) = Liste
    S1.Columns.AutoFit

    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 
Geri
Üst