• DİKKAT

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

İstenilen kadar sayı yazdırma

Katılım
12 Mayıs 2009
Mesajlar
196
Excel Vers. ve Dili
2010
Merhaba,
Yapmak istediğim şudur:
B sütununda yazan sayılardan kaç tane olması gerektiği C sütunundadır.
Sonuç F sütununda gösterilmektedir. F sütununa B sütununda yazan sayıdan C sütunundaki kadar yazdırmaktır.
B sütunundaki sayılar en fazla 150 satırdır.
Örnek dosya ekledim.
Yardımcı olabilirseniz çok sevinirim.
 

Ekli dosyalar

Merhaba,

Deneyiniz.
Kod:
Sub test()
    
    Dim i As Long, sat As Long
    
    Application.ScreenUpdating = False
    Range("F3:F" & Rows.Count).Clear
    
    For i = 3 To Cells(Rows.Count, "B").End(xlUp).Row
        If Cells(i, "C") > 0 And IsNumeric(Cells(i, "C")) = True Then
            sat = Cells(Rows.Count, "F").End(xlUp).Row + 1
            Cells(i, "B").Copy Cells(sat, "F").Resize(Cells(i, "C"), 1)
        End If
    Next i
    
End Sub
 
Sayın Ömer,
Gerçekten harikasınız, çok hızlı cevapladınız, çok çok teşekkür ederim.
 
Rica ederim. Küçük bir değişiklik yaptım, son halini kullanırsınız.
 
Bu da dizi yöntemiyle alternatif olsun.

Hız olarak avantaj sağlayacaktır.

C++:
Option Explicit

Sub Listele()
    Dim Veri As Variant, X As Long, Son As Long, Y As Integer, Say As Long
    
    Range("F3:F" & Rows.Count).ClearContents
    
    Son = Cells(Rows.Count, 2).End(3).Row
    If Son < 4 Then Son = 4
    
    Veri = Range("B3:C" & Son).Value
    
    ReDim Liste(1 To Rows.Count, 1 To 1)
    
    For X = LBound(Veri, 1) To UBound(Veri, 1)
        If IsNumeric(Veri(X, 1)) Then
            If IsNumeric(Veri(X, 2)) And Veri(X, 2) > 0 Then
                For Y = 1 To Veri(X, 2)
                    Say = Say + 1
                    Liste(Say, 1) = Veri(X, 1)
                Next
            End If
        End If
    Next
    
    If Say > 0 Then
        Range("F3").Resize(Say) = Liste
        MsgBox "İşleminiz tamamlanmıştır.", vbInformation
    Else
        MsgBox "Uygun veri bulunamadı.", vbInformation
    End If
End Sub
 
Korhan Bey mesajınızı yeni gördüm, yardımlarınız için çok teşekkür ederim.
 
Geri
Üst