• DİKKAT

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

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
 
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:
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

  • Adsız.png
    Adsız.png
    3.7 KB · Görüntüleme: 2
Tevfik bey, sizin de işinize yaradığına sevindim.
Güle güle kullanınız.
 
Sağolun Necdet Hocam, ama beklenen olmuyor
Saygılarımla
 
D1 hücresini doldurursanız, sonuca ulaşırsınız Tevfik bey,
 
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:
Kodlardaki değişikliği şu şekilde yapabilirsiniz.

Sayfa1.Range("D2").CurrentRegion.Offset(1).ClearContents
fRow = 2
 
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
 
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
 
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
 
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:
İlginize teşekkür ederim Necdet Hocam,
Çok önemli değildi. Ama sağolun.
Saygılarımla
 

Ekli dosyalar

Merhaba,
12. mesaj isteğinizi karşılıyor Tevfik bey :)
 
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
 
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 :)
 
Geri
Üst