"Время. End While " не работает в VBA?
Ниже приведен код VBA для Excel. Я использую редактор Visual Basic, который поставляется с Excel 2007.
Dim counter As Integer
counter = 1
While counter < 20
counter = counter + 1
end while '<- the compiler is complaining about this statement
Код не компилируется. Над кодом у меня есть только объявления. Согласно MSDN это должно работать, но не работает.
2 ответа:
While
конструкции оканчиваются не наEnd While
, а наWend
.Обратите внимание, что эта информация легко доступна в документации; просто нажмите F1. В Страница вы даете ссылку на предложения с помощью Visual основные .Чистая, не на VBA. В то время как (без каламбура) существует некоторая степень перекрытия в синтаксисе между VBA и VB.NET, нельзя просто предполагать, что документация для одного может быть применена непосредственно к другому.While counter < 20 counter = counter + 1 Wend
Также в файле справки VBA:
Совет оператор
Do...Loop
обеспечивает более структурированный и гибкий способ выполнения цикла.
На VBA составляет Не ВБ/ВБ.Чистая
Правильная ссылка на использование - Do..Оператор цикла (VBA) . Также смотрите статьюExcel VBA For, Do While и Do Until . Один из способов написать это:
Do While counter < 20 counter = counter + 1 Loop
(но a для..Следующий может быть более подходящим здесь.)
Счастливое кодирование.