• DİKKAT

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

Loop Parametre hatasi

Katılım
21 Ekim 2010
Mesajlar
16
Excel Vers. ve Dili
ingilizce
Sub Macro1()

For i = 1 To 500
Sheets("Makbuz").Range("A2").Value = Sheets("Data").Range("A" & i).Value
For x = 0+3 To 102
Sheets("Makbuz").Range("B5").Value = Sheets("").Range("C6" & x).Value
Next
End Sub

Aldigim hata "For without Next" Bunu nasil duzeltebilirim? ve Loop'u 3'er ya da 4'er saydirmak istersem nasil bir parametre kullanmaliyim? Ornegin For x = 0+3 To 102 uygun olur mu?

Bir diger soru ise birlesmis hucreleri nasil Range icersinde gosterebilirim? Ornek C4 ve D4 hucreleri birlesik ve bunu Range icersinde nasil tanimlayabilirim? Range("C4 & D4") seklinde mi?

Tskler simdiden
 
Böyle olabilirmi kırmızı olan yer 3 er 3 er artıyor birde x değeri 1 er 1 er artıyor dolayısıyla her veri budurumda 4 er 4 er aralıkla artıyor.

For i = 1 To 500
Sheets("Makbuz").Range("A2").Value = Sheets("Data").Range("A" & i).Value
For x = 1 To 102
Sheets("Makbuz").Range("B5").Value = Sheets("").Range("C6" & x).Value
x = x + 3
Next
Next
End Sub

birleşik hücreler enüst ve en sol tarafdaki kesişim noktasındaki hücrede değerini saklar C4
Range("C4") olacak
 
Böyle olabilirmi kırmızı olan yer 3 er 3 er artıyor birde x değeri 1 er 1 er artıyor dolayısıyla her veri budurumda 4 er 4 er aralıkla artıyor.




birleşik hücreler enüst ve en sol tarafdaki kesişim noktasındaki hücrede değerini saklar C4
Range("C4") olacak

ekte dosyayi gonderiyorum. Bordro sayfasindaki kirmizi boyali hucreler verileri birer birer cekecek ve print yapacak. Bunun icin nasil bir parametre gerekir?

Saygilar
 

Ekli dosyalar

bunu denermisiniz.

Sub aktar()
For r = 6 To Worksheets("Bordro").Cells(Rows.Count, "c").End(3).Row
Sheets("Makbuz").Cells(2, 1).Value = Sheets("Bordro").Cells(r, 2).Value
Sheets("Makbuz").Cells(5, 3).Value = Sheets("Bordro").Cells(r, 3).Value
Sheets("Makbuz").Cells(5, 10).Value = Sheets("Bordro").Cells(r, 5).Value
Sheets("Makbuz").Cells(9, 1).Value = Sheets("Bordro").Cells(r + 2, 4).Value
Sheets("Makbuz").Cells(9, 3).Value = Sheets("Bordro").Cells(r, 11).Value
Sheets("Makbuz").Cells(9, 5).Value = Sheets("Bordro").Cells(r, 12).Value
Sheets("Makbuz").Cells(9, 6).Value = Sheets("Bordro").Cells(r, 13).Value
Sheets("Makbuz").Cells(9, 7).Value = Sheets("Bordro").Cells(r, 14).Value
Sheets("Makbuz").Cells(9, 9).Value = Sheets("Bordro").Cells(r + 2, 15).Value
r = r + 2
Worksheets("Makbuz").PageSetup.PrintArea = "$A$1:$L$28"
Worksheets("Makbuz").PrintOut Copies:=1, Collate:=True
Next r
End Sub
 
Merhaba,

- for i=1 to 500 döngüsünü "next" ile kapatın; eksik kalmış.

- for x=0 to 102 döngüsünde sayfa adı yazılmamış. Sheets("") olan kısım.
 
bunu denermisiniz.

Cok tsk ederim. Eklemek istedigim bir soru var

For r = 6 To Worksheets("Bordro").Cells(Rows.Count, "c").End(3).Row

r 6'dan basliyor burasi tamamdir. yalniz Cells(Rows.count,"c").End(3).Row'un burada gorevi nedir? c ne gorevi goruyor?

ve Collate=True ne ise yarar?
 
Bir diger konu ise

r = 6 diyoruz.

parametrenin sonunda r = r + 2 ; yani bu durumda r=8 olacak sanirim.

Sheets("Makbuz").Cells(2, 1).Value = Sheets("Bordro").Cells(r, 2).Value

bu parametrede gelecek olan r degeri 2. dongude 8 olarak yer degisecek. Yalniz veriyi (9,2)'den cekmesi gerekiyor.

Benim mi yanlisim yoksa anlamadigim bir farklilik mi var tskler
 
Rows.count=satırları kontrol etmek
Cells(Rows.count,"c")=c sutünuna ait satırları kontrol etmek
Cells(Rows.count,"c").End(3).Row=dolu enson c satırını bulmak

Collate=True =harmanlamak yani yazıcıya gönderilen yazıları devamlı kılmak
 
Bir diger konu ise

r = 6 diyoruz.

parametrenin sonunda r = r + 2 ; yani bu durumda r=8 olacak sanirim.

Sheets("Makbuz").Cells(2, 1).Value = Sheets("Bordro").Cells(r, 2).Value

bu parametrede gelecek olan r degeri 2. dongude 8 olarak yer degisecek. Yalniz veriyi (9,2)'den cekmesi gerekiyor.

Benim mi yanlisim yoksa anlamadigim bir farklilik mi var tskler

dağruda birde next döngüsü var r de buda birer birer attığına göre 9 olur
 
r = r + 2
bundan önce

MsgBox r

bunu koy r nin değerini gözle bu durumlarda en güzel kodları öğrenmek mesajlarla pekişir.
 
Ustad cok tskkur ederim. Son olarak ogrenmek istedigim End(3)'deki 3'un anlami.

Tesekkurler.
 
Geri
Üst