Как да зададем правилно тип Long вместо Integer?

Microsoft Excel Електронни таблици Microsoft 365 Excel VBA Програмиране VBA за Excel

Здравейте,

Семплото макро: Sub Domashno() Dim A As Long

A = 625 * 53

MsgBox "Rezultat " & vbNewLine & A & vbNewLine & TypeName(A)

End Sub

ми дава грешка Overflow при положение, че съм задал тип Long. Oчевидно VBA счита променливата А за Integer, но не знам как да го накарам да приеме тип Long. Ако, примерно, А = 625 * 53.5 ще го приеме за Double (както и трябва) и ще пресметне произведението. Нещо съм недоразбрал :(

Поздрави!

Здравей, Петко. Лoгиката на компилатора на VBA е по-различна, когато се правят аритметични изчисления, целите числа се въвеждат като 625.0 (в твоя пример). Компилаторът веднага ще преобразува числото като 625#. Това означава цяло число. В противен случай се обърква и не може да определи числото и затова излиза съобщението за грешка Overflow. Надявам се, че успях да помогна.


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация