Ekurs işlemleri için küçük bir yardıma ihtiyacım var.

Katılım
19 Ocak 2009
Mesajlar
53
Excel Vers. ve Dili
office 356(macos)
Öncelikle herkese merhaba, excel konusunda bilgim çok sınırlı. Sizin için basit ama benim için çok önemli bir konuda yardıma ihtiyacım var. Basitçe anlatırsam:

A sütununda isimler B sütununda da adetler var. Bana C sütununa A sütunundaki ismi b sütunundaki sayı kadar alt alta yazan bir koda ihtiyacım var. Bir de D sütununa a sütunundaki ismi kaç kez yazdıysa d sütununa da sıralı olarak yazacak. Yani A ve B sütunundaki verileri C ve D sütunundaki şekle getirecek. Yardım edebilirseniz çok memnun olurum.


Örnek Dosya
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Aşağıdaki kodları bir modüle kopyalayıp dener misiniz?
Kod:
Public Sub Deneme()

Dim i   As Long, _
    fRow As Long, _
    lRow As Long

    Sayfa1.Range("D1").CurrentRegion.Offset(1).ClearContents
    fRow = 2
For i = 2 To Sayfa1.Cells(Rows.Count, "A").End(3).Row
    lRow = fRow + Sayfa1.Cells(i, "B") - 1
    Sayfa1.Range("D" & fRow & ":D" & lRow) = Sayfa1.Cells(i, "A")
    Sayfa1.Range("E" & fRow) = 1
    Sayfa1.Range("E" & fRow & ":E" & lRow).DataSeries
    fRow = Range("D1").End(xlDown).Row + 1
Next i

End Sub
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Necdet Hocam,
Resimdeki örnek oluşuyor. (benim de benzer bir makroya ihtiyacım var da, o nedenle araya girdim)
Saygılarımla
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Tevfik bey, sizin de işinize yaradığına sevindim.
Güle güle kullanınız.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sağolun Necdet Hocam, ama beklenen olmuyor
Saygılarımla
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
D1 hücresini doldurursanız, sonuca ulaşırsınız Tevfik bey,
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Necdet Hocam,
Çok teşekkür ederim. Elinize sağlık. (D3 ten başlatmak için ne yapmak gerek?)
Saygılarımla
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Kodlardaki değişikliği şu şekilde yapabilirsiniz.

Sayfa1.Range("D2").CurrentRegion.Offset(1).ClearContents
fRow = 2
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Günaydın Sayın Necdet Hocam,
A sütunu A1 den başlarken D sütunu D3 ten başlamasın başaramadım
Kod:
    Range("D1").CurrentRegion.Offset(1).ClearContents
    fRow = 1
        For i = 1 To Sayfa1.Cells(Rows.Count, "A").End(3).Row
Bunu tercih ettim.
İlginize çok teşekkür ederim.
Saygılarımla
 
Katılım
19 Ocak 2009
Mesajlar
53
Excel Vers. ve Dili
office 356(macos)
Public Sub Deneme() Dim i As Long, _ fRow As Long, _ lRow As Long Sayfa1.Range("D1").CurrentRegion.Offset(1).ClearContents fRow = 2 For i = 2 To Sayfa1.Cells(Rows.Count, "A").End(3).Row lRow = fRow + Sayfa1.Cells(i, "B") - 1 Sayfa1.Range("D" & fRow & ":D" & lRow) = Sayfa1.Cells(i, "A") Sayfa1.Range("E" & fRow) = 1 Sayfa1.Range("E" & fRow & ":E" & lRow).DataSeries fRow = Range("D1").End(xlDown).Row + 1 Next i End Sub
Necdet Bey, ilginiz için çok teşekkür ederim. Kodları denedim, D1 hücresini doldurunca kod istediğim gibi çalıştı. Yardımsever insanlar iyi ki varlar
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Günaydın Sayın Necdet Hocam,
A sütunu A1 den başlarken B sütununda B1=1 se hata veriyor. Onun dışında şahane çalışyor.
Çözmek kolay mıdır, bilemedim.
Saygılarımla
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Aşağıdaki kodlar 1. satırdan başlayan veriler için.

Kod:
Public Sub Deneme()

Dim i   As Long, _
    fRow As Long, _
    lRow As Long

    Sayfa1.Range("D1").CurrentRegion.ClearContents
    fRow = 1
For i = 1 To Sayfa1.Cells(Rows.Count, "A").End(3).Row
    lRow = fRow + Sayfa1.Cells(i, "B") - 1
    Sayfa1.Range("D" & fRow & ":D" & lRow) = Sayfa1.Cells(i, "A")
    Sayfa1.Range("E" & fRow) = 1
    Sayfa1.Range("E" & fRow & ":E" & lRow).DataSeries
    fRow = Sayfa1.Cells(Rows.Count, "D").End(3).Row + 1
Next i

End Sub
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
İlginize teşekkür ederim Necdet Hocam,
Çok önemli değildi. Ama sağolun.
Saygılarımla
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
12. mesaj isteğinizi karşılıyor Tevfik bey :)
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Necdet Hocam,
12. meajınızdaki makroyu şimdi gördüm. Daha önce vadı da ben mi görmedim. Öyleyse kusuruma bakmayın lütfen.
Elinize sağlık, çok teşekkür ederim.
Saygılarımla
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın Necdet Hocam,
12. meajınızdaki makroyu şimdi gördüm. Daha önce vadı da ben mi görmedim. Öyleyse kusuruma bakmayın lütfen.
Elinize sağlık, çok teşekkür ederim.
Saygılarımla
sizden biraz önce yüklemişim :)
 
Üst