VBA - время выполнения 1004 - PullRequest
       5

VBA - время выполнения 1004

0 голосов
/ 10 сентября 2018

Я пытаюсь эту команду

Sub Name() 
Dim n As Integer
Do Until Cells(2, n) = "" 
    n = n + 1 
    Cells(2, n).Value = n 
Loop
End Sub

Но у меня появилось сообщение «Ошибка времени выполнения 1004: ошибка приложения или объекта». что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Согласно комментариям, вы будете зацикливаться вечно, потому что ваша ячейка всегда будет иметь значение при назначении, а затем проверяться на наличие значения.Переместите инкремент n после назначения значения текущей ячейки.Тогда ваш чек будет верным.

Sub Name() 
    Dim n As Integer
    n=1 ' initialize N to where you want to start.
    Do Until Cells(2, n) = ""   
        Cells(2, n).Value = n 
        n = n + 1 //move this line to end of loop.
    Loop
End Sub
0 голосов
/ 10 сентября 2018

Может быть, имя не верно, также вы можете остановить цикл, если столбец n + 1 = ""

РЕДАКТИРОВАТЬ: Другая вещь, которую я забыл попробовать, был do until cells(1,n)<>=""

Sub nn()
    Dim n
    n = 1
    Do Until Cells(2, n + 1) = ""
        n = n + 1
        Cells(2, n).Value = n
    Loop

End Sub
...