• DİKKAT

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

Soru Satır uzayınca nasıl hesaplatabilirim?

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

balanar

Altın Üye
Katılım
22 Şubat 2021
Mesajlar
348
Excel Vers. ve Dili
Excel 2007
Merhaba hesaplaya basınca gerekli işlemleri yapıyor.

Ama satır sayısının uzadığını düşünün yani değişkenlik gösteriyor. Bu durumu nasıl çözebilirim?

Kodda ben 7 ile 11 satırlara kadar olan kısımları toplattım.Ama bu yeri geliyor 7den başlayıp 25e gidiyor. 7den başlayıp 50yede gidebilir gibi gibi..


Kod:
Private Sub CommandButton1_Click()
Range("S7").Formula = "=(E7*G7)"
Range("T7").Formula = "=(E7*H7)"
Range("U7").Formula = "=(E7*J7)"

Range("S8").Formula = "=-(E8*G8)"
Range("T8").Formula = "=-(E8*H8)"
Range("U8").Formula = "=-(E8*J8)"

Range("S9").Formula = "=(E9*G9)"
Range("T9").Formula = "=(E9*H9)"
Range("U9").Formula = "=(E9*J9)"

Range("S10").Formula = "=(E10*G10)"
Range("T10").Formula = "=(E10*H10)"
Range("U10").Formula = "=(E10*J10)"

Range("S11").Formula = "=(E11*G11)"
Range("T11").Formula = "=(E11*H11)"
Range("U11").Formula = "=(E11*J11)"

[S13] = WorksheetFunction.Sum([S7:S11])
[T13] = WorksheetFunction.Sum([T7:T11])
[U13] = WorksheetFunction.Sum([U7:U11])

End Sub
 

Ekli dosyalar

Merhaba,

Deneyiniz. 8. satırdaki negatif çarpanı yanlış yorumlamış olabilirim.
Kod:
Private Sub CommandButton1_Click()

    Dim son As Long
   
    Range("S7:U" & Rows.Count).ClearContents
   
    son = Cells(Rows.Count, "B").End(xlUp).Row

    [S7].Resize(son - 6, 1).Formula = "=(E7*G7)* Sign(K7) "
    [T7].Resize(son - 6, 1).Formula = "=(E7*H7)* Sign(K7) "
    [U7].Resize(son - 6, 1).Formula = "=(E7*J7)* Sign(K7) "
   
    Range("S" & son + 2) = WorksheetFunction.Sum(Range("S7:S" & son))
    Range("T" & son + 2) = WorksheetFunction.Sum(Range("T7:T" & son))
    Range("U" & son + 2) = WorksheetFunction.Sum(Range("U7:U" & son))
   
End Sub
 
Hocam teşekkür ediyorum, Sign(K7) kısımlarını pek anlayamadım işlev olarak

Şimdi S7,T7,U7 den itibaren çarpım değerleri geliyorya hocam bunları K7, M7, N7 den itibaren olan değerler ile aynı değilse S,T,U sutununda hangi değer farklıysa renklendirebilirmiyiz?

aynı mantıkta sadece karşılaştırma yapıp hatayı bulmaya calısıyoruz hesaplamalarda..
 
Hocam teşekkür ediyorum, Sign(K7) kısımlarını pek anlayamadım işlev olarak

8. satırda formülün başına - işareti koymuştunuz. "=-(E8*G8)" gördüğüm K sütununda - olduğu içindi. Ben öyle yorumlayarak K sütunun işaret değeriyle formülü çarptırdım. Yanlış yorumladıysam doğrusunu yazarsanız değiştireyim.

Şimdi S7,T7,U7 den itibaren çarpım değerleri geliyorya hocam bunları K7, M7, N7 den itibaren olan değerler ile aynı değilse S,T,U sutununda hangi değer farklıysa renklendirebilirmiyiz?

aynı mantıkta sadece karşılaştırma yapıp hatayı bulmaya calısıyoruz hesaplamalarda..

Makro ile mi yoksa koşullu biçimlendirme olur mu?
 
8. satırda formülün başına - işareti koymuştunuz. "=-(E8*G8)" gördüğüm K sütununda - olduğu içindi. Ben öyle yorumlayarak K sütunun işaret değeriyle formülü çarptırdım. Yanlış yorumladıysam doğrusunu yazarsanız değiştireyim.



Makro ile mi yoksa koşullu biçimlendirme olur mu?


Hocam o kod tamam işimizi gördü, mantıgını anlamak için sordum..


İkinci sorumu makro ile cozmemiz mümkünse tabi
 
Deneyiniz.
Kod:
Private Sub CommandButton1_Click()

    Dim son As Long, i As Long
  
    Range("S7:U" & Rows.Count).ClearContents
    Range("S7:U" & Rows.Count).Interior.ColorIndex = xlNone
  
    son = Cells(Rows.Count, "B").End(xlUp).Row

    [S7].Resize(son - 6, 1).Formula = "=(E7*G7)* Sign(K7) "
    [T7].Resize(son - 6, 1).Formula = "=(E7*H7)* Sign(K7) "
    [U7].Resize(son - 6, 1).Formula = "=(E7*J7)* Sign(K7) "
  
    Range("S" & son + 2) = WorksheetFunction.Sum(Range("S7:S" & son))
    Range("T" & son + 2) = WorksheetFunction.Sum(Range("T7:T" & son))
    Range("U" & son + 2) = WorksheetFunction.Sum(Range("U7:U" & son))
    
    For i = 7 To son
        If Cells(i, "K") <> Cells(i, "S") Then Cells(i, "S").Interior.ColorIndex = 3
        If Cells(i, "M") <> Cells(i, "T") Then Cells(i, "T").Interior.ColorIndex = 3
        If Cells(i, "N") <> Cells(i, "U") Then Cells(i, "U").Interior.ColorIndex = 3
    Next i

End Sub
 
Ömer bey teşekkür ederim,

Bazı değerler eşit olmasına rağmen kırmızı yapıyor. Nedeni ne olabilir örnek bir dosya yükledim
 

Ekli dosyalar

  • ag-hkdis.xlsm
    ag-hkdis.xlsm
    38.4 KB · Görüntüleme: 4
  • Adsız.png
    Adsız.png
    32.2 KB · Görüntüleme: 3
Duyarlılıklarla ilgili sorunlar olabiliyor. Yuvarlama fonksiyonu ilave etmenizde sakınca olmaz sanırım.
I:J arasına yuvarla(hücre,5) formülü olarak değiştirin. Örnek K7 hücresine =YUVARLA(I7-J7;5) yazarak alt satırlara kopyalayın.
Kodları da aşağıdaki gibi değiştirerek deneyiniz.
Kod:
Private Sub CommandButton1_Click()
    Dim son As Long, i As Long
 
    Range("S7:U" & Rows.Count).ClearContents
    Range("S7:U" & Rows.Count).Interior.ColorIndex = xlNone
 
    son = Cells(Rows.Count, "B").End(xlUp).Row

    [S7].Resize(son - 6, 1).Formula = "=Round(E7*F7,5)"
    [T7].Resize(son - 6, 1).Formula = "=Round(E7*G7,5)"
    [U7].Resize(son - 6, 1).Formula = "=Round(E7*H7,5)"
 
    Range("S" & son + 2) = WorksheetFunction.Sum(Range("S7:S" & son))
    Range("T" & son + 2) = WorksheetFunction.Sum(Range("T7:T" & son))
    Range("U" & son + 2) = WorksheetFunction.Sum(Range("U7:U" & son))
    
    For i = 7 To son
        If Cells(i, "I") <> Cells(i, "S") Then Cells(i, "S").Interior.ColorIndex = 3
        If Cells(i, "J") <> Cells(i, "T") Then Cells(i, "T").Interior.ColorIndex = 3
        If Cells(i, "K") <> Cells(i, "U") Then Cells(i, "U").Interior.ColorIndex = 3
    Next i
    
End Sub
 
Emeğinize sağlık çok zahmet verdim.. Çok tşekkür ederim ömer hocam
 
Önemli değil, iyi çalışmalar.
 
Geri
Üst