• DİKKAT

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

Worksheet SelectionChange olayında toplama çıkarma çarpma ve bölme

Katılım
5 Ocak 2011
Mesajlar
82
Excel Vers. ve Dili
Excel 2003
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 3 To sayfa2.Range("A65536").End(3).Row
If WorksheetFunction.Sum(sayfa2.Range("a" & i & ":ıv" & i)) = 0 Then
Sayfa21.Range("A" & i).Value = ""
Else
Sayfa21.Range("A" & i).Value = ""
Sayfa21.Range("A" & i).Value = WorksheetFunction.Sum(sayfa2.Range("a" & i & ":ıv" & i))
End If
Next
End Sub

sayfamda bu toplama olayını kullanıyorum. Ama çıkarma ,çarpma ve bölme işlemlerini çözemedim. Çarpma da örneğin sabit bir değer ile " 2,5 diyelim" çarptırmak istiyorum. aynı sistemle çarpma ve bölmeyi de nasıl yaparım ? Şimdiden teşekkür ederim. Saygılar.
 
Selamlar,

2,5 değeri ile neyi çarpmak yada bölmek istiyor sunuz?
 
Sayın Korhan bey ;

yapmak istediğim mesela a3:g3 aralığını ( ve hatta mümkünatı varsa (a3:g3) ve (k3:o3) aralığını ) toplatıp 2,5 ile çarptırmak veya böldürmek istiyorum. Ancak kod üstte verdiğim gibi her alt satıra yazışımda alt satırda işlem yapıp bir alt sütuna yapacak işlemini. Yani aynı üst koddaki sistem olmalı ki işimi görsün. Formül yazıp uzatınca bir hayli yer kaplıyor. Vba çok kolaylık sağlıyor bu konuda bana.
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim i As Long, Alan1 As String, Alan2 As String
    
    For i = 3 To Sayfa2.Range("A65536").End(3).Row
        Alan1 = "A" & i & ":G" & i
        Alan2 = "K" & i & ":Q" & i
        If WorksheetFunction.Sum(Sayfa2.Range(Alan1, Alan2)) = 0 Then
        Sayfa21.Range("A" & i).Value = ""
        Else
        Sayfa21.Range("A" & i).Value = ""
        Sayfa21.Range("A" & i).Value = WorksheetFunction.Sum(Sayfa2.Range(Alan1, Alan2)) * 2.5
        End If
    Next
End Sub
 
Sayın Korhan Ayhan ;
harikasınız çok teşekkür ederim. Bir iki sorum daha olacak bunun bölme ve çıkartmasında da aynı "-" ve "/" işlemlerini mi uygulayacağız sadece ? Ve bir de mesela alan1 olarak sayfa 1 deki a:q aralığını tanıtıp ; Alan 2 olarak sayfa 2 deki a:q aralığını nasıl tanımlarım ?
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long, Alan1 As String, Alan2 As String

For i = 3 To Sayfa2.Range("A65536").End(3).Row
Alan1 = "A" & i & ":G" & i
Alan2 = "K" & i & ":Q" & i
If WorksheetFunction.Sum(Sayfa2.Range(Alan1, Alan2)) = 0 Then
Sayfa21.Range("A" & i).Value = ""
Else
Sayfa21.Range("A" & i).Value = ""
Sayfa21.Range("A" & i).Value = WorksheetFunction.Sum(Sayfa2.Range(Alan1, Alan2)) * 2.5
End If
Next
End Sub
 
Selamlar,

Evet diğer işlemler için çarpı işareti yerine belirttiğin işaretleri kullanabilirsiniz.

Farklı sayfalardaki alan tanımlamalarını aşağıdaki şekilde yapabilirsiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim i As Long, Alan1 As Range, Alan2 As Range, WF As WorksheetFunction
 
    Set WF = WorksheetFunction
 
    For i = 3 To Sayfa2.Range("A65536").End(3).Row
        Set Alan1 = Sheets("Sayfa1").Range("A" & i & ":Q" & i)
        Set Alan2 = Sheets("Sayfa2").Range("A" & i & ":Q" & i)
        If WF.Sum(Alan1, Alan2) = 0 Then
            Sayfa3.Range("A" & i).Value = ""
        Else
            Sayfa3.Range("A" & i).Value = ""
            Sayfa3.Range("A" & i).Value = WF.Sum(Alan1, Alan2) * 2.5
        End If
    Next
    
    Set Alan1 = Nothing
    Set Alan2 = Nothing
    Set WF = Nothing
End Sub
 
Sorunumu çözdüm. Belli bir hücreyle böyle çarpıyormusum :) Tekrar teşekkür ediyorum Sayın Korhan Bey...
=WF.Sum(Alan1, Alan2) * (Sayfa5.Range("B11"))
 
Son düzenleme:
Geri
Üst