VBA virknes datu tips (mainīgais mainīgais)

Stīgu mainīgā tips

Stīgu datu tips ir viens no visizplatītākajiem datu veidiem VBA. Tas saglabā teksta “virknes”.

Lai deklarētu mainīgo virknes mainīgo, izmantojiet Dim Statement (saīsinājums no Dimension):

1 Dim strName kā String

Lai mainīgajam piešķirtu vērtību, izmantojiet vienādības zīmi:

1 strName = "Freds Smits"

Ievietošana procedūrā izskatās šādi:

12345678 Sub strExample ()'deklarē virkniDim strName kā virkne'aizpildiet virknistrName = "Freds Smits"'parādīt ziņojumu lodziņuMsgBox strnameBeigu apakš

Ja palaižat iepriekš minēto kodu, tiks parādīts šāds ziņojumu lodziņš.

Fiksētās virknes mainīgais

Patiesībā ir divu veidu virkņu mainīgie - fiksēti un mainīgi.

Virknes mainīgais “mainīgais” (parādīts iepriekšējā piemērā) ļauj virknei būt jebkura garuma. Tas ir visizplatītākais.

Virknes mainīgais “fiksētais” nosaka virknes lielumu. Fiksētā virknē var būt līdz 65 400 rakstzīmēm.

1 Dim strName kā virkne *20

Definējot fiksētu mainīgo, mainīgā rakstzīmju skaits tiek bloķēts, pat ja izmantojat mazāk rakstzīmju.

Ievērojiet atstarpes tālāk redzamajā grafikā - mainīgajam ir vietu turētāji pārējām virknes rakstzīmēm, jo ​​“Freds Smits” ir mazāks par 20 rakstzīmēm.

Tomēr, ja esat deklarējis virkni, nenorādot garumu, virknē būs tikai tik daudz rakstzīmju, cik tai tiek nodots.

Deklarēt virkņu mainīgo moduļa vai globālā līmenī

Iepriekšējā piemērā procedūrā deklarējāt mainīgo String. Ar procedūru deklarētos mainīgos var izmantot tikai šīs procedūras ietvaros.

Tā vietā jūs varat deklarēt virkņu 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, jūs izmantojat Publisks paziņojums, kas norāda, ka virknes mainīgais ir pieejams izmantošanai visā jūsu VBA projektā.

1 Publisks strName kā String

Ja virknes mainīgo deklarējāt moduļa līmenī un izmantojat citā modulī, radīsies kļūda.

Tomēr, ja virknes mainīgā deklarēšanai izmantojat publisko atslēgvārdu, kļūda nenotiek un procedūra darbojas nevainojami.

Konvertēt vērtības, kas saglabātas kā virkne

Var gadīties, ka programmā Excel ir vērtības, kas tiek saglabātas kā teksts - piemēram, iespējams, esat importējis CSV failu, kurā skaitļu vietā var būt ievadīts teksts.

Ņemiet vērā, ka A1 vērtība ir izlīdzināta pa kreisi, norādot teksta vērtību.

Jūs varat izmantot a VBA funkcija var izmantot, lai šos ciparus pārvērstu tekstā

12345678 Sub ConvertValue ()'aizpildiet virknistrQty = Diapazons ("A1")'aizpildiet dubultnieku ar virknidblQty = strQty'aizpildiet diapazonu ar skaitliDiapazons ("A1") = dblQtyBeigu apakš

Kad esat palaidis kodu, numurs pāriet uz labo pusi, norādot, ka tas tagad tiek saglabāts kā numurs.

Tas ir īpaši noderīgi, ja jūs cilpojat lielu šūnu diapazonu.

123456789101112131415 Sub ConvertValue ()Dim strQty As String, dblQty As DoubleDim rw kā vesels skaitlis, i kā vesels skaitlis'saskaitiet konvertējamās rindasrw = diapazons ("A1", diapazons ("A1"). beigas (xlDown)). Rindas. skaitscilpu caur šūnām un katru no tām pārvērst par skaitliJa i = 0 līdz rw - 1'aizpildiet virknistrQty = Diapazons ("A1"). Nobīde (i, 0)'aizpildiet dubultnieku ar virknidblQty = strQty'aizpildiet diapazonu ar skaitliDiapazons ("A1"). Nobīde (i, 0) = dblQtyTālāk iBeigu apakš

Rezultātā visas šūnas tiks pārvērstas skaitļos

Vai esat noguris no VBA koda piemēru meklēšanas? Izmēģiniet AutoMacro!

Konvertēt virkni, kas saglabāta kā vērtības

Līdzīgi var būt vērtības, kas jāpārvērš no virknes par vērtību, piemēram, ja tālruņa numura sākumā ir nepieciešama nulle.

123456789101112131415 Sub ConvertString ()Dim strPhone kā virkne, dblPhone kā dubultāDim rw As Integer, i As Integer'saskaitiet konvertējamās rindasrw = diapazons ("A1", diapazons ("A1"). beigas (xlDown)). Rindas. skaitscilpu caur šūnām un katru no tām pārvērst par skaitliJa i = 0 līdz rw - 1'aizpildiet virknidblPhone = Diapazons ("A1"). Nobīde (i, 0)'aizpildiet dubultnieku ar virknistrPhone = "'0" un dblPhone'aizpildiet diapazonu ar skaitliDiapazons ("A1"). Nobīde (i, 0) = strphoneTālāk iBeigu apakš

Ņemiet vērā, ka teksta virkne jāsāk ar apostrofu (‘) pirms nulles, lai liktu programmai Excel ievadīt vērtību kā virkni.

wave wave wave wave wave