Ошибка возврата VBA при вызове Sub с несколькими параметрами
Я пытаюсь понять, почему VBA
возвращает ошибку (Compile error: Expected: =)
, когда я вызываю Sub
и предоставляю ей несколько параметров. Любая помощь будет высоко оценена.
Sub customerController(cleanStructure As Boolean, firstCol As Integer, latCol As Integer, _
lngCol As Integer, Optional startRow As Long, Optional endRow As Long)
Dim i As Long, j As Long, n As Long
If (cleanStructure = False) Then
'customer data type
If (startRow = "") Then i = 1
If (endRow = "") Then j = countRows
For n = i To j - i + 1
generateURL(n, firstCol)
newReadXMLData (url)
ActiveSheet.Cells(i, latCol).Value = lat
ActiveSheet.Cells(i, lngCol).Value = lng
Next
End If
End Sub
Sub
, который я вызываю, требует двух параметров:
Sub generateURL(row As Long, column As Long)
Ответы
Ответ 1
При вызове более одного параметра (т.е. просто generateURL(n)
работает) вам нужно либо использовать
-
Call generateURL(n, firstCol)
, или
-
generateURL n, firstCol
с использованием Call
- лучший способ программирования, поскольку он более ясен
В соответствии с MSDN:
Обычно вы используете оператор Call для вызова процедуры, которая не возвращает значение. Если процедура возвращает значение, оператор Call отбрасывает ее. При вызове процедуры вам не требуется использовать оператор Call. Однако улучшает читабельность вашего кода.