Типове данни (Data types) за цели числа (Integer, Long) и за дробни числа (Currency)

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
Тип Long се дефинира със символа:
[%]
[&]
[#]
 
Какво съобщение за грешка ще се покаже при изпълнение на процедурата?Sub Check_MyNumber ()Dim MyNumber As IntegerMyNumber = 50000MsgBox MyNumberEnd Sub
Overflow
Variable not defined
Процедурата се изпълнява без грешка

Въпроси и отговори

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

    Petko Ivanov Stoyanov:

    Здравейте,

    Семплото макро: 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. Надявам се, че успях да помогна.