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.