powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Office 2016 - VBA - Run-time error '6': Overflow
3 сообщений из 3, страница 1 из 1
MS Office 2016 - VBA - Run-time error '6': Overflow
    #39487235
ms-vba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть простой код, который вылетает по-ошибке:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Test()
    Dim x As Long
    Dim y As Long

    x = 65536   ' 64K <-- Ok

    x = 64
    x = x * 1024    ' 64K <-- Ok
    
    y = 64
    x = y * 1024    ' 64K <-- Ok

    x = 64 * 1024   ' 64K <-- Run-time error '6': Overflow
    x = CLng(64 * 1024)   ' 64K <-- Run-time error '6': Overflow
End Sub


Код тестирован в Excel и Access. Чем может быть вызвана такого рода ошибка при присвоении значения переменной?
...
Рейтинг: 0 / 0
MS Office 2016 - VBA - Run-time error '6': Overflow
    #39487253
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ms-vba,

сначала считается 64 * 1024 во временную переменную, затем только работает функция
попробуйте

Код: vbnet
1.
x=clng(64 )* 1024
...
Рейтинг: 0 / 0
MS Office 2016 - VBA - Run-time error '6': Overflow
    #39487279
25423er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ms-vba,

Результат Integer * Integer считается, что должен быть Integer, так же как и для +, -, логических операций. Вот и всё объяснение. Приведите один аргумент к Long явно с помощью CLng или символа-суффикса указания типа (type-declaration character) & (например, 64& * 1024).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Office 2016 - VBA - Run-time error '6': Overflow
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]