Код, который вы указали, не компилируется.Возможно, вы пытались привести простой пример ...?
Он не компилируется, потому что Input
- зарезервированное слово, используемое для чтения данных из файлового объекта.Вы не можете использовать его как имя переменной.(Я предположил, что «xxxxx» указывает, куда должен идти код, то есть 'Do something here
.)
Следующий код работает, но вы не можете запустить его без передачи значения:
Sub do_something(i As Integer)
MsgBox i
End Sub
Если вы хотите сделать переменную необязательной, вы можете добавить ключевое слово Optional
.Затем он будет работать, даже если значение не передано:
Sub do_something(Optional i As Integer)
MsgBox i
End Sub
Вы также можете использовать переменную с глобальной областью действия, которая позволит подпрограмме работать без непосредственного указания значения:
Option Explicit
Public i As Integer
Sub do_something()
MsgBox i
End Sub
Относительно Input
: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/inputstatement