Tek hücrede yazılı olan metnin satır ve sütunlara göre düzenlenmesi

deliaslan

Altın Üye
Katılım
29 Mart 2011
Mesajlar
9
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2309 Derleme 16.0.16827.20166) 64 bit - Türkçe
Altın Üyelik Bitiş Tarihi
06-01-2028
Öncelikle depremden dolayı vefat edenlere Allah rahmet eylesin, yaralılara acil şifalar versin. Ülkemize geçmiş olsun.

Benim sorum ham veri olarak gelen bir tabloda aynı kişiye ait verilerin olduğu tek hücre adının karşısında verilmektedir. Amaç bu verinin sayısı kaç adet olmasına bağlı olarak her bir ürün için yeni bir satır oluşturarak sütunlarda da özelliklerini vererek verileri kişi adına çoklu satıra kaydetmesini sağlamaktır.
Örnek dosyayı ekte paylaşıyorum. Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,598
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Örnek dosyanız ilişiktedir.
C++:
Sub Duzenle()
Set s1 = Sheets("ham_veri")
Set s2 = Sheets("istenen_format")
s2.Range("A2:I" & s2.Rows.Count).ClearContents
sat = 2

For j = 2 To s1.Cells(Rows.Count, 1).End(3).Row
myArr = s1.Range("A" & j & ":D" & j)
x = Split(myArr(1, 4), Chr(10))
    For i = 0 To UBound(x)
        If IsNumeric(Left(x(i), 1)) Then
            Cells(sat, 2) = s1.Cells(j, 2)
            Cells(sat, 3) = x(i)
            Cells(sat, 4) = Split(x(i + 1), ":")(1)
            Cells(sat, 5) = Split(x(i + 2), ":")(1)
            Cells(sat, 6) = Split(x(i + 3), ":")(1)
            Cells(sat, 7) = Split(x(i + 4), ":")(1)
            Cells(sat, 8) = Split(x(i + 5), ":")(1)
            sat = sat + 1
        End If
    Next i
Next j
Cells(2, 1) = 1
Range("A2:A" & sat - 1).DataSeries
End Sub
 

Ekli dosyalar

deliaslan

Altın Üye
Katılım
29 Mart 2011
Mesajlar
9
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2309 Derleme 16.0.16827.20166) 64 bit - Türkçe
Altın Üyelik Bitiş Tarihi
06-01-2028
Merhaba,
Örnek dosyanız ilişiktedir.
C++:
Sub Duzenle()
Set s1 = Sheets("ham_veri")
Set s2 = Sheets("istenen_format")
s2.Range("A2:I" & s2.Rows.Count).ClearContents
sat = 2

For j = 2 To s1.Cells(Rows.Count, 1).End(3).Row
myArr = s1.Range("A" & j & ":D" & j)
x = Split(myArr(1, 4), Chr(10))
    For i = 0 To UBound(x)
        If IsNumeric(Left(x(i), 1)) Then
            Cells(sat, 2) = s1.Cells(j, 2)
            Cells(sat, 3) = x(i)
            Cells(sat, 4) = Split(x(i + 1), ":")(1)
            Cells(sat, 5) = Split(x(i + 2), ":")(1)
            Cells(sat, 6) = Split(x(i + 3), ":")(1)
            Cells(sat, 7) = Split(x(i + 4), ":")(1)
            Cells(sat, 8) = Split(x(i + 5), ":")(1)
            sat = sat + 1
        End If
    Next i
Next j
Cells(2, 1) = 1
Range("A2:A" & sat - 1).DataSeries
End Sub
Çok teşekkür ederim. Emeğinize sağlık :)
 
Üst