Spremenite besedilo v številko z uporabo VBA

Kazalo:

Anonim

V nedavni nalogi sem filtriral skozi VBA v stolpcu s številkami. Toda ta številčni stolpec je imel številke v besedilni obliki. Ko zaženem skript VBA, seveda ni deloval, ker je bil filter številka, v stolpcu pa so bile številke kot besedilo. V tem primeru sem moral besedilo ročno pretvoriti v številke in ga shraniti. Potem je makro deloval odlično. Toda želel sem ta besedila pretvoriti v številke s skriptom VBA in to mi je uspelo. To sem hotel deliti, kot da bi kdo vedel, kako pretvoriti besedilne vrednosti v številko z uporabo VBA, si jo lahko ogleda.

Pretvorite besedilo v številko z metodo Range.NumberFormat

Ta prva in najlažja metoda. Ta način imam raje pred drugimi metodami, saj neposredno pretvori izbrano območje excela v obliko števila.

Torej, če imate določen obseg, ki ga želite pretvoriti v besedilo, uporabite ta delček VBA.

Sub ConvertTextToNumber () Obseg ("A3: A8"). NumberFormat = "Splošno" Razpon ("A3: A8"). Vrednost = Razpon ("A3: A8"). Vrednost Konec Sub 

Ko zaženete zgornjo kodo, pretvori besedilo obsega A3: A8 v besedilo.

Ta koda je lahko videti bolj elegantna, če jo zapišemo tako.

Sub PretvoriTextToNumber () z obsegom ("A3: A8") .NumberFormat = "Splošno" .Vrednost = .Vrednost Konec s koncem Sub 

Kako deluje?

No, čisto preprosto je. Najprej spremenimo obliko številk obsega v Splošno. Nato smo vrednost tega območja postavili v isti obseg z uporabo VBA. To popolnoma odstrani oblikovanje besedila. Preprosto, kajne?

Spremenite število oblikovanja dinamičnega obsega

V zgornji kodi smo besedilo v zgornji kodi s fiksnim obsegom spremenili v številko, vendar to večinoma ne bo tako. Za pretvorbo besedila v več dinamičnih obsegov lahko ocenimo zadnjo uporabljeno celico ali pa dinamično izberemo obseg.

Tako bi to izgledalo:

Sub ConvertTextToNumber () z obsegom ("A3: A" & celice (vrstice. Število, 1). Konec (xlUp). Vrstica) .NumberFormat = "splošno". Vrednost =. Vrednost zaključi z 

Tukaj vem, da se obseg začne od A3. Ne vem pa, kje bi se to lahko končalo.
Tako dinamično identificiram zadnjo uporabljeno vrstico Excel, v kateri so podatki, z uporabo celic delčka VBA (Rows.Count, 1) .End (xlUp) .Row. Vrne zadnjo uporabljeno številko vrstice, ki jo povežemo z "A3: A".

Opomba: Ta delček VBA bo deloval na aktivnem delovnem zvezku in aktivnem delovnem listu. Če se vaša koda preklaplja med več listi, bi bilo bolje, da nastavite objekt obsega predvidenega delovnega lista. Všečkaj to

Sub ConvertTextToNumber () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1) .End (xlUp) .Row) Z Rng .NumberFormat = "Splošno" .Vrednost = .Vrednost End With End Sub 

Zgornja koda bo vedno spremenila besedilo v številko lista1 delovnega zvezka, ki vsebuje to kodo.

Z zanko in CSng spremenite besedilo v številko

Druga metoda je, da z vsako funkcijo CSng preletite skozi vsako celico in vrednost celice spremenite v številko. Tukaj je koda.

Sub ConvertTextToNumberLoop () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1) .End (xlUp) .Row) Za vsako celico v Rng.Cells cel.Value = CSng (cel.Value) Naslednji cel Konec pod 

V zgornjem delčku VBA uporabljamo zanko VBA For za ponovitev vsake celice v obsegu in pretvorimo vrednost vsake celice v številko s funkcijo CSng VBA.

Torej, fantje, tako lahko besedila v Excelu spremenite v številke z uporabo VBA. Te izrezke lahko uporabite za pripravo delovnega lista, preden na njih izvedete kakršno koli operacijo s številkami. Upam, da sem bil dovolj razložljiv. Delovno datoteko lahko prenesete tukaj.

Spremenite besedilo v številko z uporabo VBA.

Če dvomite v to pretvorbo besedila v številko ali katero koli drugo vprašanje, povezano z excelom/VBA, vprašajte v spodnjem razdelku za komentarje.

Kako dobiti besedilo in številko v obratni smeri prek VBA v Microsoft Excelu | Za obrnitev števila in besedila uporabljamo zanke in funkcijo mid v VBA. 1234 se pretvori v 4321, "ti" pa v "uoy". Tukaj je odlomek.

Oblikujte podatke s številčnimi oblikami po meri z uporabo VBA v Microsoft Excelu | Če želite spremeniti obliko števila določenih stolpcev v Excelu, uporabite ta delček VBA. Zajema obliko zapisa števila, ki je podana določeni obliki, z enim klikom.

Priljubljeni članki:

50 bližnjic v Excelu za večjo produktivnost | Poskrbite, da bo vaša naloga hitrejša. S temi 50 bližnjicami boste še hitreje delali v Excelu.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določene vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.