Tip de date șir VBA (variabilă dim)

Șir de tip variabil

Tipul de date String este unul dintre cele mai comune tipuri de date din VBA. Stochează „șiruri” de text.

Pentru a declara o variabilă String variabilă, utilizați declarația Dim (prescurtare pentru Dimension):

1 Dim strName ca Șir

Pentru a atribui o valoare unei variabile, utilizați semnul egal:

1 strName = "Fred Smith"

Punerea acestui lucru într-o procedură arată astfel:

12345678 SubstrExample ()'declara șirulDim strName ca șir'populează șirulstrName = "Fred Smith"'arată caseta de mesajeMsgBox strnameSfârșitul Sub

Dacă rulați codul de mai sus, va fi afișată următoarea casetă de mesaj.

Variabila de șir fix

Există de fapt 2 tipuri de variabile șir - fixe și variabile.

Variabila de șir „variabilă” (prezentată în exemplul anterior) permite șirului dvs. să aibă orice lungime. Acest lucru este cel mai frecvent.

Variabila șir „fix” definește dimensiunea șirului. Un șir fix poate conține până la 65.400 de caractere.

1 Dim strName ca șir * 20

Când definiți o variabilă fixă, numărul de caractere din variabilă este blocat, chiar dacă utilizați mai puține caractere.

Observați spațiile din graficul de mai jos - variabila are suporturi pentru restul de caractere din șir, deoarece „Fred Smith” are mai puțin de 20 de caractere.

Cu toate acestea, dacă ați declarat un șir fără să specificați lungimea, atunci șirul va conține doar atâtea caractere cât îi sunt transmise.

Declarați șirul variabil la nivel de modul sau global

În exemplul anterior, ați declarat variabila String într-o procedură. Variabilele declarate cu o procedură pot fi utilizate numai în cadrul acestei proceduri.

În schimb, puteți declara variabile String la nivel de modul sau global.

Nivelul modulului

Nivelul modulului variabilele sunt declarate în partea de sus a modulelor de cod cu Dim afirmație.

Aceste variabile pot fi utilizate cu orice procedură din acel modul de cod.

Nivel global

La nivel global variabilele sunt, de asemenea, declarate în partea de sus a modulelor de cod. Cu toate acestea, în loc să utilizați fișierul Dim declarație, utilizați Public declarație pentru a indica faptul că variabila șir este disponibilă pentru a fi utilizată în întregul Proiect VBA.

1 StrName public ca Șir

Dacă ați declarat variabila șir la un nivel de modul și ați utiliza un alt modul, va apărea o eroare.

Cu toate acestea, dacă utilizați cuvântul cheie public pentru a declara variabila șir, eroarea nu va apărea și procedura va rula perfect.

Convertiți valorile stocate ca șir

Este posibil să existe un moment în care să aveți valori în Excel care sunt stocate ca text - de exemplu, este posibil să fi importat un fișier CSV care ar fi putut aduce text în loc de numere.

Rețineți că valoarea din A1 este aliniată la stânga, indicând o valoare text.

Puteți utiliza un Funcția VBA poate fi folosit pentru a converti aceste numere în text

12345678 SubConvertireValoare ()'populează șirulstrQty = Range ("A1")'populează dublul cu șiruldblQty = strQty'populează intervalul cu numărulGama ("A1") = dblQtySfârșitul Sub

Odată ce ați rulat codul, numărul se va deplasa la dreapta, indicând că acum este stocat ca număr.

Acest lucru este deosebit de util atunci când parcurgeți o gamă largă de celule.

123456789101112131415 SubConvertireValoare ()Dim strQty As String, dblQty As DoubleDim rw As Integer, i As Integer'numărați rândurile de convertitrw = Range ("A1", Range ("A1"). End (xlDown)). Rows.Count'buclați prin celule și convertiți-le într-un numărPentru i = 0 Pentru a rw - 1'populează șirulstrQty = Range ("A1"). Offset (i, 0)'populează dublul cu șiruldblQty = strQty'populează intervalul cu numărulGama ("A1"). Offset (i, 0) = dblQtyApoi euSfârșitul Sub

Rezultatul va fi că toate celulele sunt apoi convertite în numere

V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!

Conversia șirului stocat ca valori

În mod similar, ar putea exista valori pe care trebuie să le convertiți dintr-un șir într-o valoare - de exemplu, dacă aveți nevoie de un zero în fața unui număr de telefon.

123456789101112131415 Sub ConvertString ()Dim strPhone As String, dblPhone As DoubleDim rw As Integer, i As Integer'numărați rândurile de convertitrw = Range ("A1", Range ("A1"). End (xlDown)). Rows.Count'buclați prin celule și convertiți-le într-un numărPentru i = 0 Pentru a rw - 1'populează șiruldblPhone = Range ("A1"). Offset (i, 0)'populează dublul cu șirulstrPhone = "'0" & dblPhone'populează intervalul cu numărulRange ("A1"). Offset (i, 0) = strphoneApoi euSfârșitul Sub

Rețineți că trebuie să începeți șirul de text cu un apostrof (‘), înainte de zero pentru a spune Excel să introducă valoarea ca șir.

wave wave wave wave wave