Ilgi mainīgs tips
VBA Ilgi datu tips tiek izmantots ļoti garu datu vērtību glabāšanai (-2 147 483 648 līdz 2 147 483 648). Tajā var saglabāt tikai veselus skaitļus (bez komata).
Lai deklarētu garu mainīgo, izmantojiet Dim Statement (saīsinājums no Dimension):
1 | Dim lngA kā garš |
Pēc tam, lai mainīgajam piešķirtu vērtību, vienkārši izmantojiet vienādības zīmi:
1 | lngA = 30000 |
Ievietošana procedūrā izskatās šādi:
12345678 | SublngExample ()'deklarējiet garo mainīgoDim lngA kā garš'aizpildiet garo mainīgolngA = 30000'parādīt ziņojumu lodziņuMsgBox lngABeigu apakš |
Ja palaižat iepriekš minēto kodu, tiks parādīts šāds ziņojumu lodziņš.
LongLong datu tips
Datu tips LongLong ir pieejams tikai Microsoft Office 64 bitu versijā. Ja 64 bitu datorā izmantojat Office 32 bitu versiju, šis datu veids nebūs pieejams. Tas atbalsta skaitļus diapazonā no -9 223 372 036 854 775 808 līdz 9 223 372 036 854 775 807.
1 | Dim lngA kā LongLong |
LongPtr datu tips
LongPtr tika ieviests VBA, lai atbalstītu Microsoft Office 64 bitu versiju. 32 bitu sistēmā tas tiek uzskatīts par garu, bet 64 bitu sistēmās - par LongLong.
1 | Dim lngA kā LongPtr |
Piezīme. LongPtr nav pieejams programmā Excel 2007 vai vecākā versijā.
Decimālās vērtības un garie datu tipi
Garie mainīgie nevar saglabāt decimālās vērtības. Ja decimāldaļskaitli ievadāt garu, decimāldaļskaitlis tiks noapaļots, lai noņemtu decimāldaļu.
Tāpēc, ja jūs veicat tālāk norādīto procedūru:
12345678 | Sub LngExampleB ()'deklarē garo mainīgoDim lngA kā garš'aizpildiet garo mainīgolngA = 3524.12'parādīt ziņojumu lodziņuMsgBox lngABeigu apakš |
Decimālā vērtība tiks noapaļota uz leju, atgriežot šādu ziņojumu:
Tomēr šis kods:
12345678 | Sub LngExampleB ()'deklarē garo mainīgoDim lngA kā garš'aizpildiet garo mainīgolngA = 3524.12'parādīt ziņojumu lodziņuMsgBox lngABeigu apakš |
Atgrieztu šādu ziņojumu lodziņu (noapaļojot uz augšu):
Decimāls / dubultā datu tips
Ja vēlaties saglabāt decimāldaļu, jums ir jādeklarē mainīgais, kas atļauj aiz komata. Varat izmantot 3 datu veidus - vienu, divkāršu vai valūtu.
1 | Dim sngPrice kā Single |
1 | Dim dblCena kā dubultā |
1 | Aptumšot valūtas cenu |
Vienotā datu tips noapaļos decimālzīmi nedaudz atšķirīgi no dubultā un valūtas datu veida, tāpēc precizitātes labad ir vēlams izmantot dubultu punktu vienai. Dubultā var būt līdz 12 zīmēm aiz komata, bet valūtai un vienai - līdz 4 zīmēm aiz komata.
Deklarējiet garus mainīgos moduļa vai globālā līmenī
Iepriekšējos piemēros mēs esam deklarējuši garo mainīgo procedūras ietvaros. Ar procedūru deklarētos mainīgos var izmantot tikai šīs procedūras ietvaros.
Tā vietā jūs varat deklarēt garus mainīgos moduļa vai globālā līmenī.
Moduļa līmenis
Moduļa līmenis mainīgie tiek deklarēti koda moduļu augšpusē ar Izmērs paziņojums, apgalvojums.
Šos mainīgos var izmantot jebkurā koda moduļa procedūrā.
Globālais līmenis
Globālais līmenis mainīgie tiek deklarēti arī koda moduļu augšpusē. Tomēr tā vietā, lai izmantotu Izmērs paziņojumu, izmantojiet Publisks paziņojums, kas norāda, ka garais mainīgais ir pieejams izmantošanai visā jūsu VBA projektā.
1 | Publiskā lngA kā garš |
Ja jūs deklarētu garo mainīgo moduļa līmenī un pēc tam mēģinātu to izmantot citā modulī, notiktu kļūda.
Tomēr, ja jūs būtu izmantojis publisko atslēgvārdu, lai deklarētu garo mainīgo, kļūda nenotiktu un procedūra darbotos nevainojami.
Formāts, kas ilgi saglabāts kā virkne
Var gadīties, ka vēlaties virkni formatēt garu datu tipu, piemēram, datumu vai parādīt valūtas simbolu.
Lai to panāktu, izmantojiet funkciju Formatēt.
Šāda procedūra:
1234567891011 | ApakštestsLongToString ()'deklarējiet virknes mainīgoDim strDate kā virkne'deklarējiet garo un aizpildiet vērtībuDim lngDate tik ilgiLngDate = 44055'pārvērst garo virkni, kas formatēta kā datumsstrDate = Formāts (lngDate, "dd mmmm gggg")'apskatīt rezultātuAtkļūdot. Drukāt strDateBeigu apakš |
atgrieztu rezultātu zemāk:
un sekojošo procedūru
1234567891011 | ApakštestsLongtoCurrencyString ()'deklarējiet virknes mainīgoDim strMoney kā virkne'deklarējiet garo un aizpildiet vērtībuDim lngValue As LonglngValue = 44055'konvertējiet garo uz virkni ar valūtas simbolustrMoney = Formāts (lngValue, "$#, ## 0")'apskatīt rezultātuMsgBox strMoneyBeigu apakš |
atgrieztu šādu rezultātu: