Skift tekst til nummer ved hjælp af VBA

Indholdsfortegnelse:

Anonim

I en nylig opgave lavede jeg filter gennem VBA på en talekolonne. Men den talekolonne havde tal i tekstformat. Da jeg kørte VBA -scriptet, fungerede det naturligvis ikke, fordi filteret var et tal, og kolonnen havde tal som tekst. I så fald var jeg nødt til at konvertere teksten til tal manuelt og gemme den. Så fungerede makroen perfekt. Men jeg ville konvertere disse tekster til tal ved hjælp af VBA -scriptet, og jeg var i stand til at gøre det. Jeg ville dele dette, som om nogen ville vide, hvordan man konverterer tekstværdier til et tal ved hjælp af VBA, de kan se på det.

Konverter tekst til tal ved hjælp af metoden Range.NumberFormat

Denne første og letteste metode. Jeg foretrækker denne metode frem for andre metoder, da den direkte konverterer det valgte excel -område til talformat.

Så hvis du har et fast område, som du vil konvertere til tekst, skal du bruge dette VBA -kodestykke.

Sub ConvertTextToNumber () Range ("A3: A8"). NumberFormat = "General" Range ("A3: A8"). Value = Range ("A3: A8"). Value End Sub 

Når du kører ovenstående kode, konverterer teksten fra område A3: A8 til tekst.

Denne kode kan se mere elegant ud, hvis vi skriver det sådan.

Sub ConvertTextToNumber () Med Range ("A3: A8") .NumberFormat = "General" .Value = .Value End With End Sub 

Hvordan virker det?

Nå, det er ret simpelt. Vi ændrer først talformatet for intervallet til Generelt. Derefter sætter vi værdien af ​​dette område i det samme område ved hjælp af VBA. Dette fjerner tekstformateringen fuldstændigt. Enkel, ikke sandt?

Skift antallet af formateringer for et dynamisk område

I ovenstående kode ændrede vi teksten til nummer i ovenstående kode for et fast område, men det vil ikke være tilfældet det meste af tiden. For at konvertere tekst til et antal dynamiske områder kan vi evaluere den sidst anvendte celle eller vælge området dynamisk.

Sådan ville det se ud:

Sub ConvertTextToNumber () Med Range ("A3: A" & Celler (Rows.Count, 1). End (xlUp) .Row) .NumberFormat = "General" .Value = .Value End With 

Her ved jeg, at rækkevidden starter fra A3. Men jeg ved ikke, hvor det kan ende.
Så jeg dynamisk identificerer den sidste brugte Excel -række, der har data i den, ved hjælp af VBA -kodestykkeceller (Rows.Count, 1) .End (xlUp) .Row. Det returnerer det sidste brugte rækkenummer, som vi sammenkæder med "A3: A".

Bemærk: Dette VBA -uddrag fungerer på den aktive projektmappe og det aktive regneark. Hvis din kode skifter gennem flere ark, ville det være bedre at angive et områdeobjekt for det tiltænkte regneark. Sådan her

Sub ConvertTextToNumber () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1). End (xlUp) .Row) With Rng .NumberFormat = "General" .Value = .Værdi slut med slut sub 

Ovenstående kode ændrer altid teksten til nummeret på arket1 i projektmappen, der indeholder denne kode.

Loop og CSng for at ændre teksten til nummer

En anden metode er at gå gennem hver celle og ændre celleværdien til et tal ved hjælp af CSng -funktionen. Her er koden.

Sub ConvertTextToNumberLoop () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1). End (xlUp) .Row) For Every cel In Rng.Cells cel.Value = CSng (cel.Value) Næste cel End Sub 

I ovenstående VBA -uddrag bruger vi VBA For loop til at iterere over hver celle i området og konvertere værdien af ​​hver celle til et tal ved hjælp af CSng -funktionen i VBA.

Så ja fyre, sådan kan du ændre tekster til tal i Excel ved hjælp af VBA. Du kan bruge disse uddrag til at klargøre dit regneark, før du foretager en taloperation på dem. Jeg håber, jeg var forklarende nok. Du kan downloade arbejdsfilen her.

Skift tekst til nummer ved hjælp af VBA.

Hvis du er i tvivl om denne tekst til nummerkonvertering eller andre Excel/VBA -relaterede forespørgsler, så spørg i kommentarfeltet herunder.

Sådan får du tekst og tal i omvendt gennem VBA i Microsoft Excel | For at vende nummer og tekst bruger vi loops og mid -funktion i VBA. 1234 konverteres til 4321, "du" konverteres til "uoy". Her er uddraget.

Formater data med tilpassede talformater ved hjælp af VBA i Microsoft Excel | Brug dette VBA -kodestykke til at ændre talformatet for bestemte kolonner i excel. Det dækker nummerformatet for det angivne til det angivne format med et klik.

Populære artikler:

50 Excel -genveje til at øge din produktivitet | Få hurtigere til din opgave. Disse 50 genveje får dig til at arbejde endnu hurtigere i Excel.

VLOOKUP -funktionen i Excel | Dette er en af ​​de mest anvendte og populære funktioner i excel, der bruges til at slå værdi op fra forskellige områder og ark.

COUNTIF i Excel 2016 | Tæl værdier med betingelser ved hjælp af denne fantastiske funktion. Du behøver ikke filtrere dine data for at tælle specifik værdi. Countif -funktion er afgørende for at forberede dit dashboard.

Sådan bruges SUMIF -funktionen i Excel | Dette er endnu en vigtig instrumentbrætfunktion. Dette hjælper dig med at opsummere værdier på bestemte betingelser.