Application.WorksheetFunction.Sum Ошибка времени выполнения 424 - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь использовать этот код, чтобы скрыть строки из строки 15 в строку 59, если sumi от B15 до K15 использует i для индексации строк от 15 до 59. СМ. НИЖЕ

Вкл.В строке sumi ниже я получаю

ошибку времени выполнения 424 «Требуется объект»

, и я не вижу, в чем проблема.Я уверен, что это что-то простое.Любая помощь будет принята с благодарностью.

Dim i As Integer
Dim sumi As Single

i = 15

Do Until i = 56
     StartRow = i
     EndRow = i

     Application.EnableEvents = True

     sumi = Aplication.WorksheetFunction.Sum(Range("B" & i & ":K" & i))

     Application.EnableEvents = False

     If sumi = "0" Then
          Rows("StartRow:RowEnd").EntireRow.Hidden = True
     ElseIf sumi > 0 Then
          Rows("StartRow:RowEnd").EntireRow.Hidden = False
          MsgBox " sumi = " & sumi
     End If
     Application.EnableEvents = True
     i = i + 1
Loop

1 Ответ

0 голосов
/ 15 декабря 2018

кроме того, что уже указано в комментариях, вы также должны изменить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...