• DİKKAT

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

Sütunlar arası çarpım işlemi

  • Konbuyu başlatan Konbuyu başlatan Galus
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Örnekte sunulduğu üzere C ve D sütunlarına belirlenen yerlere rakam girildiğinde E sütunundaki satırına sonucu yazsın. Formül ile değil makro ile nasıl yapabiliriz?

Teşekkürler..
 

Ekli dosyalar

Aşağıdaki kodu Sayfa1'in kod sayfasına yapıştırın, Aynı satırda C ve D sütunlarına sayı girilip ve E sütununa geçildiğinde çarpım işlemini yapar.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 5 And IsNumeric(Cells(Target.Row, "C")) And IsNumeric(Cells(Target.Row, "D")) Then
Target.Value = Cells(Target.Row, "C") * Cells(Target.Row, "D")
End If
End Sub

Eğer çarpma işlemini yaptıktan sonra bir alt satırda c sütununa geçmesi isteniyorsa End if ten önceki satıra
Cells(Target.Row+1, "c") .Select
kodu ilave edilebilinir.
 
Son düzenleme:
Sayın omerceri,

Destek, ilgi ve bilgilerinize teşekkürler...

Saygılarımla...
 
Sayın omerceri,

Makro sadecene E sütununda sonucu istenen hücreye tıklayınca çalışıyor. Otomatik olarak E sütununa tıklamadan C ve D ye rakam yazınca E de sonucunu nasıl yazdırırız?

Teşekkürler...
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Hücre As Range
    
    If Intersect(Target, [C4:D24]) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then
    For Each Hücre In Selection
    If (Hücre.Column = 3 Or Hücre.Column = 4) And Hücre.Value = Empty Then
    Cells(Hücre.Row, "E") = Empty
    End If
    Next
    Exit Sub
    End If
    If Target = Empty And Target.Next = Empty Then Cells(Target.Row, "E") = Empty: Exit Sub
    If Target.Column = 3 And IsNumeric(Target) Then
    Cells(Target.Row, "E") = Target * Target.Next
    ElseIf Target.Column = 4 And IsNumeric(Target) Then
    Cells(Target.Row, "E") = Target * Target.Previous
    End If
End Sub
 
Saygılarımı arz ederim sayın uzmanım. Teşekkürler...
 
Selamlar,

Kodda küçük bir ayrıntıyı atlamışım. Üstteki mesajımdaki kodu revize ettim. İncelermisiniz.
 
Son halini aldım. Teşekkürler...
 
Geri
Üst