• DİKKAT

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

Bir veriyi adetine göre birden fazla veri haline getirme

  • Konbuyu başlatan Konbuyu başlatan Tornael
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Haziran 2012
Mesajlar
116
Excel Vers. ve Dili
2010 excel ingilizce
Selam Arkadaşlar,

Başlıkta da belirttiğim gibi ekteki excelde de örnekleyerek anlatmaya çalıştım.

İlgileriniz için şimdiden teşekkür ederim.
 

Ekli dosyalar

selam,
eki inceleyiniz..
kolay gelsin...
 
Son düzenleme:
Tebrikler

Harbiden eğer formülü ile çözülebileceği hiç aklıma gelmezdi.
Henüz tecrübesizim:redface:

Zekanıza sağlık.:)
 
Merhaba,

Bir kaç veri olduğunda formülle sıkıntı yaşayabilirsiniz. Makroyu deneyiniz. Değişik yöntemlerle olabilir.

Kod:
Sub Cogalt()
    
    Dim i   As Long
    Dim Bs  As Long
    Dim Bt  As Long
    
    Bs = 2
    
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
        Bt = Bs + Cells(i, "B") - 1
        Range("D" & Bs & ":D" & Bt) = Cells(i, "A")
        Range("E" & Bs & ":E" & Bt) = 1
        Bs = Bs + Cells(i, "B")
    Next i
    
End Sub
 

Ekli dosyalar

Tebrik ediyorum

Onunla uğraşıyordum bende, stun stun ayırıyordum kodları. Resmen aklımı okudunuz çok saolun Necdet Bey.:bravo:
 
Merhaba,

Veri Üzerinde değişiklik isterseniz ya da başka bir yöntem isterseniz kodları inceleyiniz.

Son Satırdaki Range("A2....
ve Range("B2...

leri değiştirirseniz başka sütünlara listeyi alabilirsiniz.

Kod:
Sub Cogalt2()
 
    Dim i   As Long, _
        j   As Long, _
        k   As Integer, _
        l   As Long, _
        Son As Long, _
        dz()
 
    Son = Cells(Rows.Count, "A").End(3).Row
 
    j = Evaluate("=SUM(B2:B" & Son & ")")
    ReDim dz(1 To j)
 
    For i = 2 To Son
        For k = 1 To Cells(i, "B")
            l = l + 1
            dz(l) = Cells(i, "A")
        Next k
    Next i
 
    Range("A2").Resize(j, 1) = Application.WorksheetFunction.Transpose(dz)
    Range("B2:B" & j + 1) = 1
 
End Sub
 

Ekli dosyalar

Teşekkürler üstadım
 
Geri
Üst