• DİKKAT

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

İç içe for next döngüsü: Yanlışım nerede acaba...

Katılım
26 Ocak 2007
Mesajlar
14
Excel Vers. ve Dili
MS Excel 2002 tr
Merhabalar,

234 satırım ve sırayla, ön hücresi 1 ya da 2 ise verilecek 122 numaram var.

Yapmaya çalıştığım şudur:
1 değerini görüp sırayla vermeye başlasın ancak 2 görürse yeniden 1 değerini vererek sırayla devam etsin.
Eğer aşağıda yeniden 1 görürse, başta kaldığı sayıdan devam etsin

Aşağıdaki kod ise tüm hücrelere 122 yazıyor.
Yanlışım nerede acaba, yardımcı olabilirseniz sevinirim...


Sub Makro1()

For x = 1 To 234

For y = 1 To 122

If Range("D" & x).Value = 1 Then
Range("E" & x).Value = y
End If

If Range("D" & x).Value = 2 Then
Range("E" & x).Value = y
End If

If Range("D" & x).Value = "HT" Then
Range("E" & x).Value = ""
End If

If Range("D" & x).Value = "Vİ" Then
Range("E" & x).Value = ""
End If

Next y

Next x

End Sub
 
Merhaba.

Bence 10-15 satırlık veri içerecek şekilde, gerçek belgenizle aynı yapıya sahip ve
olması gereken sonuçların elle yazıldığı bir örnek belge yükllemeniz yerinde olur.

Örnek verileriniz, oluşabilecek farklı seçenekler varsa bunları içerecek şekilde olsun.

Örnek belge özellikleri ve örnek belge yükleme yöntemi konusundaki açıklama,
cevabımın altındaki İMZA bölümünde var.
.
 
Tekrar merhaba.

Anladığım kadarıyla, basit bir formül ile istediğiniz sonuç alınabilir.
-- Formülü ilk hücreye uygulayın ve liste boyunca kopyalayın.
--Yok eğer ille de makro istiyorum derseniz aşağıdaki gibi olabilir.
.
Kod:
[B][COLOR="Blue"]FORMÜL:[/COLOR][/B]
=[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EMETİNSE[/COLOR](C2);"";[COLOR="Red"]EĞERSAY[/COLOR]($C$2:C2;C2))

[B][COLOR="blue"]MAKRO:[/COLOR][/B]
[B]Sub NUMARALAR()[/B]
Range("D2:D" & Cells(Rows.Count, "B").End(3).Row).ClearContents
For satir = 2 To Cells(Rows.Count, "B").End(3).Row
    If IsNumeric(Cells(satir, "C")) Then _
        Cells(satir, "D") = WorksheetFunction.CountIf(Range("C2:C" & satir), Cells(satir, "C"))
Next
[B]End Sub[/B]
 
Geri
Üst