Как да зададем правилно тип Long вместо Integer?
Здравейте,
Семплото макро: 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. Надявам се, че успях да помогна.