Promijenite tekst u broj pomoću VBA

Sadržaj:

Anonim

U nedavnom sam zadatku filtrirao kroz VBA u stupcu s brojevima. No, taj stupac s brojevima imao je brojeve u tekstualnom formatu. Kad sam pokrenuo VBA skriptu, to naravno nije radilo, jer je filter bio broj, a stupac je imao brojeve kao tekst. U tom slučaju morao sam ručno pretvoriti tekst u brojeve i spremiti ga. Tada je makro funkcionirao savršeno. Ali htio sam pretvoriti ove tekstove u brojeve pomoću VBA skripte i to sam uspio. Htio sam ovo podijeliti kao da netko želi znati pretvoriti tekstualne vrijednosti u broj pomoću VBA, može to pogledati.

Pretvorite tekst u broj pomoću metode Range.NumberFormat

Ova prva i najjednostavnija metoda. Više volim ovu metodu u odnosu na druge metode jer izravno pretvara odabrani Excel raspon u format broja.

Dakle, ako imate fiksni raspon koji želite pretvoriti u tekst, upotrijebite ovaj isječak VBA.

Sub PretvoriTextToNumber () Raspon ("A3: A8"). NumberFormat = "Općenito" Raspon ("A3: A8"). Vrijednost = Raspon ("A3: A8"). Vrijednost Kraj Sub 

Kada pokrenete gornji kôd, tekst raspona A3: A8 pretvara u tekst.

Ovaj kod može izgledati elegantnije ako ga napišemo ovako.

Sub PretvoriTextToNumber () s rasponom ("A3: A8") .NumberFormat = "Općenito" .Vrijednost = .Vrijednost završava s završetkom Sub 

Kako radi?

Pa, vrlo je jednostavno. Prvo mijenjamo format broja raspona u Općenito. Zatim stavljamo vrijednost tog raspona u isti raspon pomoću VBA. Time se potpuno uklanja oblikovanje teksta. Jednostavno, zar ne?

Promijenite broj oblikovanja dinamičkog raspona

U gornjem kodu promijenili smo tekst u broj u gornjem kodu fiksnog raspona, ali to većinu vremena neće biti slučaj. Za pretvaranje teksta u niz dinamičkih raspona možemo procijeniti posljednju korištenu ćeliju ili dinamički odabrati raspon.

Ovako bi to izgledalo:

Sub ConvertTextToNumber () s rasponom ("A3: A" & ćelije (Rows.Count, 1) .End (xlUp) .Row) .NumberFormat = "Općenito" .Vrijednost = .Vrijednost završava s 

Evo, znam da raspon počinje od A3. Ali ne znam gdje bi to moglo završiti.
Tako sam dinamički identificirao posljednji korišteni Excel redak koji u sebi ima podatke pomoću ćelija VBA isječka (Rows.Count, 1) .End (xlUp) .Row. Vraća posljednji korišteni broj retka koji povezujemo s "A3: A".

Bilješka: Ovaj isječak VBA radit će na aktivnoj radnoj knjizi i aktivnom radnom listu. Ako se vaš kôd prebacuje kroz više listova, bilo bi bolje postaviti objekt raspona predviđenog radnog lista. Kao ovo

Sub ConvertTextToNumber () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1) .End (xlUp) .Row) With Rng .NumberFormat = "General" .Vrednost = .Vrijednost završava s End Sub 

Gornji kôd uvijek će promijeniti tekst u broj lista1 radne knjige koji sadrži ovaj kôd.

Loop i CSng za promjenu teksta u broj

Druga metoda je proći kroz svaku ćeliju i promijeniti vrijednost ćelije u broj pomoću funkcije CSng. Evo koda.

Sub ConvertTextToNumberLoop () Postavite Rng = ThisWorkbook.Sheets ("Sheet1"). Raspon ("A3: A" & ćelije (Rows.Count, 1) .End (xlUp) .Row) Za svaku ćeliju U Rng.Cells cel.Value = CSng (cel.Value) Sljedeća cel Kraj End Sub 

U gornjem isječku VBA koristimo petlju VBA For za ponavljanje svake ćelije u rasponu i pretvaranje vrijednosti svake ćelije u broj pomoću CSng funkcije VBA.

Pa da, dečki, evo kako možete promijeniti tekstove u brojeve u Excelu pomoću VBA. Ove isječke možete koristiti za pripremu radnog lista prije nego što na njima izvršite bilo koju operaciju s brojevima. Nadam se da sam vam dovoljno objasnio. Radnu datoteku možete preuzeti ovdje.

Promijenite tekst u broj pomoću VBA.

Ako imate bilo kakvih nedoumica u vezi s ovim pretvaranjem teksta u broj ili bilo kojim drugim pitanjem vezanim uz Excel/VBA, pitajte u donjem odjeljku komentara.

Kako dobiti obrnuti tekst i broj putem VBA u Microsoft Excelu | Za obrnuti broj i tekst koristimo petlje i srednju funkciju u VBA. 1234 će se pretvoriti u 4321, "ti" će se pretvoriti u "uoy". Evo isječka.

Oblikujte podatke prilagođenim formatima brojeva pomoću VBA u programu Microsoft Excel | Za promjenu formata broja određenih stupaca u Excelu upotrijebite ovaj isječak VBA. Pokriva format broja navedenog u određenom formatu jednim klikom.

Popularni članci:

50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.

Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.

COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.

Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.