Тип с единична променлива
VBA Единична тип данни се използва за съхраняване на числа, които изискват десетични знаци. Той може да съхранява от -3.4028235E+38 до -1.401298E -45 за отрицателни стойности и от 1.401298E -45 до 3.4028235E+38 за положителни стойности.
За да декларирате единична променлива, използвате оператора Dim (съкращение от Dimension):
1 | Dim sngA като Single |
След това, за да присвоите стойност на променлива, просто използвайте знака за равенство:
1 | sngA = 3658,25 |
Поставянето на това в процедура изглежда така:
12345678 | Sub sngExample ()'декларирайте двойната променливаDim sngA като Single'попълнете двойната променливаsngA = 3658,25'покажете полето за съобщенияMsgBox sngAEnd Sub |
Ако изпълните горния код, ще се покаже следното поле със съобщение.
Двоен тип данни
Двойният тип данни е просто по -дълга версия на Единична тип данни. Поради този факт, той може да повлияе на закръгляването, когато се използва в процедура като Единична тип данни ще се закръгли до 4 знака след десетичната запетая, докато Двойна тип данни ще се закръгли до 12 знака след десетичната запетая. Ако имате нужда от повече от 4 знака след десетичната запетая, можете да използвате двоен тип данни.
Вътрешни или дълги типове данни
Ако не се нуждаете от десетична запетая, можете да използвате типа данни Int или Long.
1 | Dim intA като Integer |
1 | Dim lngB като Long |
VBA програмиране | Code Generator работи за вас!
Обявете единична променлива на модулно или глобално ниво
В предишните примери декларирахме Единична променлива в рамките на процедура. Променливите, декларирани с процедура, могат да се използват само в рамките на тази процедура.
Вместо това можете да декларирате единични променливи на модулно или глобално ниво.
Модулно ниво
Ниво на модул променливите се декларират в горната част на кодовите модули с Дим изявление.
Тези променливи могат да се използват с всяка процедура в този кодов модул.
Глобално ниво
Глобално ниво променливите също се декларират в горната част на кодовите модули. Въпреки това, вместо да използвате Дим изявление, използвайте Обществен изявление, което показва, че Единична променливата е достъпна за използване във вашия VBA проект.
1 | Публична SngA като единична |
Ако трябва да декларирате Единична променлива на ниво модул и след това опитайте да я използвате в друг модул, ще възникне грешка.
Ако обаче сте използвали ключовата дума Public, за да декларирате Единична променлива, грешката няма да възникне и процедурата ще работи перфектно.
Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!
Форматирайте единично съхранено като низ
Може да има момент, в който искате да форматирате един тип данни в низ - например може да искате да покажете символ на валута и да закръглите числото до 2 знака след десетичната запетая.
За да постигнете това, използвайте функцията Форматиране.
Следващата процедура
1234567891011 | Sub TestSingleToCurrencyString ()'декларирайте низовата променливаDim strМани като низ'декларирайте единичното и попълнете стойносттаDim sngValue As SinglesngValue = 44055.256'преобразувайте сингъла в низ с символ на валута с 2 десетични знакаstrMoney = Формат (sngValue, "$#, ## 0.00")'вижте резултатаMsgBox strMoneyEnd Sub |
ще върне този резултат:
По същия начин може да искате да покажете номер като форматиран телефонен номер.
Тази процедура:
1234567891011 | Sub TestSingleToPhone ()'декларирайте низовата променливаDim strPhone As String'декларирайте единичното и попълнете стойносттаDim sglValue Като единичноsglValue = 555968541'преобразувайте сингъла в низ със символ на валутаstrPhone = Формат (sglValue, "(000) -000 0000")'вижте резултатаMsgBox strPhoneEnd Sub |
ще върне този резултат: