• DİKKAT

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

Devam Eden Sayı

  • Konbuyu başlatan Konbuyu başlatan askm
  • Başlangıç tarihi Başlangıç tarihi

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Kolay gelsin.
Bir sayfaya 1-10000 arası sayıları yerleştireceğim. A sütununa 50 sayı girecek B sütununa geçecek. Bu şekilde I sütununa kadar gelecek. Sonra 51. satırdan devam edecek. Yani her sayfada 50 satır ve 9 sütun olacak şekilde yerleştirmek istiyorum. Algoritmasını bir türlü yazamadım. Mod ile filan denedim ama olmadı. Kafa durdu.
Kod:
a=1
b=10000
for i=1 to 9
      for x=1  to 50 'durdurduğum kısma gelince burayı elle 51-100 şeklinde manuel girerek hallettim ama iş yarı otomatiğe döndü :)
             cells(x,i)=a
            a=a+1
     next x
next i 'Burada f9 yapıp durdurdum.
 
Tam anlamadım ama, böyle bir şey mi?

Bu kodla gerekli adette sayfalar oluşturulup, veriler yazdırılıyor.


Kod:
Sub Test()
    a = 1
    b = 10000
    
    x = b / (9 * 50) + 1
    
    For k = 1 To x + 1
        Sheets.Add After:=Sheets(Sheets.Count)
        For j = 1 To 9
            Z = k * 50 - 49
            For i = Z To Z + 49
                If a > b Then Exit Sub
                Cells(i, j) = a
                a = a + 1
            Next
        Next
    Next
End Sub

.
 
Son düzenleme:
Haluk Bey teşekkürler. Yalnız sayfa ekleme olarak değil. Çıktıda her sayfaya 50 satır ve 9 sütun sığıyor. İlk A1 den A50 ye kadar dolduracak. Sonra B1:B50 arası şeklinde I ya kadar gidecek. I sütununu da doldurunca A51-A100 arasını dolduracak. Yine I51:I100 arasına kadar dolunca A101:A150 arasını dolduracak.
 
Ben bahsettiğiniz "Sayfa" tanımını "Excel Sayfası" olarak anlamıştım.

Bir de bunu deneyin ....

Kod:
Sub Test()
    a = 1
    b = 10000
   
    x = Int(b / (9 * 50)) + 1
    Z = x * 50 - 49
    For k = 1 To x + 1
        For j = 1 To 9
            Z = k * 50 - 49
            For i = Z To Z + 49
                Cells(i, j) = a
                a = a + 1
                If a > b Then Exit Sub
            Next
        Next
    Next
End Sub

.
 
aşağıdaki satırı silip deneyin
Sheets.Add After:=Sheets(Sheets.Count)
 
Haluk Hocam çok teşekkür ederim. Tam istediğim gibi.
 
Geri
Üst