Najpierw oblicz sumę za pomocą funkcji SumIf, czyli
Sub zsumujDane()
Dim wynikSumy As Long
wynikSumy = Application.WorksheetFunction.SumIf(Range("A1:A6"), "KOWALSKI", Range("B1:B6"))
wynikSumy = Range("E1").Value
End Sub
teraz przypisz wartość obliczoną, którą "przechowuje" zmienna wynikSumy do komórki E1, czyli
Sub zsumujDane()
Dim wynikSumy As Long
wynikSumy = Application.WorksheetFunction.SumIf(Range("A1:A6"), "KOWALSKI", Range("B1:B6"))
Range("E1").Value = wynikSumy
End Sub
P.S. "Podkręciłem" trochę Twój kod VBA,
- teraz możesz dopisywać więcej linii (wierszy) bez potrzeby zmiany kodu
- podwójne kliknięcie lewym przyciskiem myszki w nazwisko wywołuje SumIf z nazwiskiem, które znajduje się w komórce
zapisz ten kod w (edytora VBA - Alt + F11 )
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not IsEmpty(Target.Value) And Target.Column = 1 Then
zsumujDane (Target.Value)
Cancel = True
End If
End Sub
Sub zsumujDane(ByVal name As String)
Dim wynikSumy As Long
Dim wynik, ostatni_wiersz As String
ostatni_wiersz = CStr(Cells(Rows.Count, 1).End(xlUp).Row)
wynikSumy = WorksheetFunction.SumIf(Range("A1:A" + ostatni_wiersz), name, Range("B1:B" + ostatni_wiersz))
wynik = " " + name + ": " + CStr(wynikSumy)
Range("E1").Value = wynik
Range("E1").ColumnWidth = Len(wynik) + 2
End Sub