• DİKKAT

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

döngü hatası

Katılım
9 Temmuz 2007
Mesajlar
22
Excel Vers. ve Dili
visual basic
Arkadaşlar bir döngü kurmam gerekiyor ama hata veriyor. sebebi nedir ?
Her seferinde bir satır şaağı kaydırıp 3 sütun sağındaki değerle karşılaştıracak ve o satıra kadar olan değerleri toplayacak. Sanırım i olrak tanımlamada bir hata var. Debug dediğimde kırmızı ile yazılı olan yer hata veriyor. Yardım ederseniz sevinirim.

For i = 1 To 12
If ActiveCell.Offset(i, 0).Value < ActiveCell.Offset(0, 3).Value Then
Range("F2").FormulaR1C1 = "=SUM(R[0]C[-3]:R[i]C[-3])"
Else
Range("B15").Select
End If
Next i
 
Range("F2").FormulaR1C1 = "=Sum (Cells (1,3):Cells (i,3))"

Ya arkada&#351;lar bu tarz bi&#351;ey yapmam gerekiyor sanki. S&#252;tundaki i kadar de&#287;eri toplamas&#305; laz&#305;m i=2 oldu&#287;unda &#246;rne&#287;in 1,3 ve 2,3 h&#252;crelerini toplayacak. ama hata veriyor. nas&#305;l yazaca&#287;&#305;m bunu??
 
A&#351;a&#287;&#305;daki gibi deneyin.

Kod:
For i = 1 To 12
If ActiveCell.Offset(i, 0).Value < ActiveCell.Offset(0, 3).Value Then
Range("F2").FormulaR1C1 = "=SUM(R[0]C[-3]:R[" & i & "]C[-3])"
Else
Range("B15").Select
End If
Next i
 
Ya bir sorunum var. Amac&#305;m aktif h&#252;crenin bir sut&#252;n sa&#287;&#305;ndaki h&#252;credeki de&#287;eri toplatmak. A&#351;a&#287;&#305;daki gibi bir&#351;ey olmas&#305; gerekir mant&#305;ken. ama yaz&#305;m &#351;eklim yanl&#305;&#351;. Yard&#305;mc&#305; olabilir misiniz l&#252;tfeen..

Range("B2").Activate
For i = 0 To 12
If ActiveCell.Offset(i, 0).Value < Range("e2").Value Then
Range("F2").FormulaR1C1 = "=SUM(Activecell.Offset(0,1).Value: Activecell.Offset (i,1).Value)"
Else
Range("B2").Select
End If
Next i
 
G&#252;nayd&#305;n,

Formul sat&#305;r&#305;n&#305; a&#351;ag&#305;daki gibi de&#287;i&#351;tiriniz.

Kod:
Range("f2").Value=Activecell.Offset(0,1)*1+Activecell.Offset (i,1)

Not:Sorunuza erken ve do&#287;ru &#231;&#246;z&#252;m a&#231;&#305;s&#305;ndan ,&#246;rnek bir dosya eklemeniz cevab&#305;n&#305;z&#305; erken alman&#305;z&#305; sa&#287;layacakt&#305;r
 
fakat bu &#351;ekilde olunca i=3 i&#231;in &#246;rne&#287;in offset 0,1 ile 3,1 olan 2 adet h&#252;cereyi toplayacak. Ben i=3 i&#231;im 0,1den 1,3'e kadar olan h&#252;creleri toplamas&#305;n&#305; istiyorum yani offset 0,1- 1,1-2,1-3,1 h&#252;crelerini. arada kalan b&#252;t&#252;n h&#252;creleri toplas&#305;n istiyorum.
 
Merhaba,

&#304;nan&#305;nki &#246;rnek dosya eklemi&#351; olsayd&#305;n&#305;z daha net ve &#231;abuk &#231;z&#246;&#252;me ula&#351;&#305;rd&#305;n&#305;z.

Acaba istedi&#287;iniz b&#246;yle bi&#351;eymi? Kodlar&#305; a&#351;a&#287;&#305;daki gibi denermisiniz.... ?

Kod:
For i = 2 To 14
        Cells(i, 6) = WorksheetFunction.Sum(Range("c" & i & ":c" & i + 3))
    Next i
 
Ekte örnek bir dosya gönderiyorum. orada anlatmaya çalıştım. umarım yardımcı olabilirsiniz.
 
Merhaba,

Ek Dosyayı İnceleyiniz......

Kod:
Dim i As Integer, son As Integer, hcr As Range
son = Range("f65536").End(3).Row + 1
Set hcr = Range("b2")
For i = 2 To 14
    Do While hcr.Value < Cells(i, 5)
        Cells(son, 6).Activate
        ActiveCell = ActiveCell + hcr.Offset(0, 1)
        Set hcr = hcr.Offset(1, 0)
    Loop
    son = son + 1
Next i
 
Geri
Üst