A couple of options:
Option Explicit
Sub novi()
' original with variables defined
Dim dnd As String
Dim ofdnd As Range
Dim rng As Range
Dim rng2 As Range
Dim cell As Range
Set rng = Worksheets(1).Range("G9:G20")
Set rng2 = Worksheets(1).Range("J1")
For Each cell In rng
If cell.Value = "DND" Then
rng2 = Application.Sum(cell.Offset(, 1).Value)
End If
Next cell
End Sub
Sub novi_v2()
' amended version with loop
Dim rng As Range
Dim rng2 As Range
Dim cell As Range
Set rng = Worksheets(1).Range("G9:G20")
Set rng2 = Worksheets(1).Range("J1")
rng2.Value = 0
For Each cell In rng
If cell.Value = "DND" Then
rng2.Value = rng2.Value + cell.Offset(, 1).Value
End If
Next cell
End Sub
Sub novi_v3()
' using SUMIF without loop
Dim rng As Range
Dim rng2 As Range
Set rng = Worksheets(1).Range("G9:G20")
Set rng2 = Worksheets(1).Range("J1")
rng2.Value = Application.WorksheetFunction.SumIf(rng, "DND", rng.Offset(, 1))
End Sub
Bookmarks