DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
With Range("A1")
.FormulaLocal = "=TOPLA.ÇARPIM((Stok!$B$2:$B$4958=A95)*(Stok!$K$2:$K$4958))"
.Value = .Value
End With
.Value = .Value satırını silip çalıştırın, N4 hücresine yazılan formülü kontrol edin..Value = .Value satırını yeniden eklersiniz..Value = .Value satırını silip makroyu çalıştırın, N4 hücresine makro formül yazacaktır bu formülü kontrol edin.Sub test()
With Range("D5:D14")
.FormulaLocal = "=ETOPLA(stok!$C$6:$C$16;C5;stok!$D$6:$D$16)"
.Value = .Value
End With
End Sub
Merhaba.
Örnek dosyaya göre aşağıdaki kodu kullanınız.
Kod:Sub test() With Range("D5:D14") .FormulaLocal = "=ETOPLA(stok!$C$6:$C$16;C5;stok!$D$6:$D$16)" .Value = .Value End With End Sub
Kod:Sub ToplaCarpim() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim toplam As Double 'Çalışma sayfasını "Stok" sayfası olarak ayarla Set ws = ThisWorkbook.Sheets("Stok") 'Stok sayfasının son satırını bul lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row 'Toplamı sıfırla toplam = 0 'Hücreleri dolaş ve koşulu kontrol et For i = 2 To lastRow 'Başlık satırını atlattık (2'den başlıyoruz) If ws.Cells(i, "B").Value = Range("A95").Value Then 'A95 hücresinin değeri ile eşleşen satırları kontrol et toplam = toplam + ws.Cells(i, "K").Value 'Karşılık gelen hücrenin değerini toplam değere ekle End If Next i 'Sonucu ekrana yazdır MsgBox "Sonuç: " & toplam
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C5:C14"), Target) Is Nothing Then
With Target.Offset(0, 1)
Application.EnableEvents = False
.FormulaLocal = "=ETOPLA(stok!$C$6:$C$16;" & Target.Address & ";stok!$D$6:$D$16)"
.Value = .Value
Application.EnableEvents = True
End With
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bul As Range
If Not Intersect(Range("C6:D16"), Target) Is Nothing Then
With Worksheets("Rapor")
Set Bul = .Range("C5:C14").Find(what:=Cells(Target.Row, "C"), lookat:=xlWhole)
Application.EnableEvents = False
With .Cells(Bul.Row, "D")
.FormulaLocal = "=ETOPLA(stok!$C$6:$C$16;" & Bul.Address & ";stok!$D$6:$D$16)"
.Value = .Value
End With
Application.EnableEvents = True
End With
End If
End Sub