Как вы убеждаете VBA обрабатывать литеральные целые числа как longs?
Спасибо
Ответ 1
Добавьте суффикс long& как минимум к одному числу:
Const OVERFLOWS As Long = 10& * 60 * 60
Обратите внимание, что использование функции CLNG для преобразования значений в long не будет работать, поскольку VBA не позволяет назначить возвращаемое значение функции константе.
Для тех, кто находит символ и символ немного эзотерическим, альтернативой является использование функции CLNG, которая преобразует число в long
Const OVERFLOWS As Long = CLNG(10) * 60 * 60
вы могли бы сделать аналогичную вещь для единой константы
Const OVERFLOWS As Single = CSNG(10) * 60 * 60
Ответ 4
Символ типа также может быть добавлен к литералам: Const OVERFLOWS As Long = (10 & * 60 * 60)
(один из них является суффиксом на самом деле из-за того, как двигатель VBA оценивает выражение).