кроме того, что уже указано в комментариях, вы также должны изменить Rows("StartRow:RowEnd")
на Rows(StartRow & ":" & RowEnd)
, но вы можете сократить весь код до:
Dim i As Integer
For i = 15 To 56
Rows(i).Hidden = (Application.WorksheetFunction.Sum(Range("B" & i & ":K" & i)) = 0)
Next
если значения в соответствующем диапазоне подлежат вычислению по формуле, отключите автоматический расчет для существующего цикла, а затем верните его в конец:
Dim i As Integer
Application.Calculation = xlCalculationManual ' to prevent row height adjustement
For i = 15 To 56
Rows(i).Hidden = (Application.WorksheetFunction.Sum(Range("B" & i & ":K" & i)) = 0)
Next
Application.Calculation = xlCalculationAutomatic