У меня есть поведение vba, которое я не понимаю.
Я запускаю VBA в макросе Excel 2016 года.
Sub alpha()
Dim a As Integer, b As Long
a = 750
b = 50 * a
Stop
End Sub
Запуск этого подпрограммы приводит к ошибке переполнения. Почему?
Переменная a
является целым числом и поэтому не может содержать число 750*50
, поскольку оно слишком велико. Но переменная b
измеряется как long - поэтому она должна содержать это число.
Странно - если я изменяю тип переменной a
на Long
, то код запускается.