VBA garš datu tips (mainīgs mainīgais)

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:

wave wave wave wave wave