Mainiet tekstu uz skaitli, izmantojot VBA

Satura rādītājs:

Anonim

Nesenā uzdevumā es filtrēju caur VBA skaitļu kolonnā. Bet šajā skaitļu slejā bija cipari teksta formātā. Kad es palaidu VBA skriptu, tas, protams, nedarbojās, jo filtrs bija skaitlis un kolonnā bija cipari kā teksts. Tādā gadījumā man bija manuāli jāpārvērš teksts ciparos un jāsaglabā. Tad makro strādāja perfekti. Bet es gribēju pārvērst šos tekstus skaitļos, izmantojot VBA skriptu, un man tas izdevās. Es vēlējos to kopīgot tā, it kā kāds gribētu zināt, kā teksta vērtības pārvērst skaitļos, izmantojot VBA, viņi to var apskatīt.

Konvertējiet tekstu par skaitli, izmantojot metodi Range.NumberFormat

Šī ir pirmā un vienkāršākā metode. Es dodu priekšroku šai metodei, nevis citām metodēm, jo ​​tā tieši pārvērš atlasīto Excel diapazonu skaitļu formātā.

Tātad, ja jums ir noteikts diapazons, kuru vēlaties pārvērst tekstā, izmantojiet šo VBA fragmentu.

Sub ConvertTextToNumber () diapazons ("A3: A8"). NumberFormat = "Vispārīgs" diapazons ("A3: A8"). Vērtība = diapazons ("A3: A8"). Vērtība Beigu apakšdaļa 

Palaižot iepriekš minēto kodu, tas pārveido diapazona A3: A8 tekstu tekstā.

Šis kods var izskatīties elegantāks, ja mēs to rakstām šādi.

Sub ConvertTextToNumber () ar diapazonu ("A3: A8"). 

Kā tas darbojas?

Nu, tas ir pavisam vienkārši. Vispirms mēs mainām diapazona skaitļu formātu uz Vispārīgi. Tad mēs ievietojām šī diapazona vērtību tajā pašā diapazonā, izmantojot VBA. Tas pilnībā noņem teksta formatējumu. Vienkārši, vai ne?

Mainiet dinamiskā diapazona formatējuma skaitu

Iepriekš minētajā kodā mēs mainījām tekstu uz skaitli iepriekš norādītā fiksētā diapazona kodā, taču lielākajā daļā gadījumu tas tā nebūs. Lai tekstu pārvērstu vairākos dinamiskos diapazonos, mēs varam novērtēt pēdējo izmantoto šūnu vai dinamiski atlasīt diapazonu.

Tas izskatītos šādi:

Sub ConvertTextToNumber () ar diapazonu ("A3: A" & šūnas (Rows.Count, 1) .End (xlUp) .Row) .NumberFormat = "General" .Value = .Value End with 

Šeit es zinu, ka diapazons sākas no A3. Bet es nezinu, kur tas varētu beigties.
Tāpēc es dinamiski identificēju pēdējo izmantoto Excel rindu, kurā ir dati, izmantojot VBA fragmenta šūnas (Rows.Count, 1). End (xlUp). Row. Tas atgriež pēdējo izmantoto rindas numuru, ko mēs savienojam ar "A3: A".

Piezīme: Šis VBA fragments darbosies pie aktīvās darbgrāmatas un aktīvās darblapas. Ja jūsu kods pārslēdzas caur vairākām lapām, labāk būtu iestatīt paredzētās darblapas diapazona objektu. Kā šis

Sub ConvertTextToNumber () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Diapazons ("A3: A" & Cells (Rows.Count, 1) .End (xlUp) .Row) Ar Rng .NumberFormat = "General" .Value =. Vērtība beidzas ar beigu apakšdaļu 

Iepriekš minētais kods vienmēr mainīs tekstu uz tās darbgrāmatas lapas1 numuru, kurā ir šis kods.

Loop un CSng, lai mainītu tekstu uz skaitli

Vēl viena metode ir cilpa caur katru šūnu un šūnas vērtības mainīšana uz skaitli, izmantojot funkciju CSng. Šeit ir kods.

Sub ConvertTextToNumberLoop () Set Rng = ThisWorkbook.Sheets ("Sheet1"). Diapazons ("A3: A" & šūnas (Rows.Count, 1). End (xlUp) .Row) Par katru cel In Rng.Cells cel.Value = CSng (cel.Value) Next cel End Sub 

Iepriekš minētajā VBA fragmentā mēs izmantojam VBA For cilpu, lai atkārtotu katru diapazona šūnu un konvertētu katras šūnas vērtību skaitlī, izmantojot VBA CSng funkciju.

Jā, puiši, šādā veidā jūs varat mainīt tekstus uz cipariem programmā Excel, izmantojot VBA. Varat izmantot šos fragmentus, lai sagatavotu savu darblapu, pirms veicat tajos skaitļu darbību. Ceru, ka biju pietiekami izskaidrojošs. Darba failu varat lejupielādēt šeit.

Mainiet tekstu uz skaitli, izmantojot VBA.

Ja jums ir šaubas par šo teksta pārvēršanu numurā vai jebkuru citu ar Excel/VBA saistītu vaicājumu, jautājiet komentāru sadaļā zemāk.

Kā iegūt tekstu un ciparus apgrieztā veidā, izmantojot VBA programmā Microsoft Excel | Lai mainītu ciparus un tekstu, VBA izmantojam cilpas un vidusfunkciju. 1234 tiks pārveidots par 4321, "jūs" tiks pārveidots par "uoy". Šeit ir fragments.

Formatējiet datus ar pielāgotiem skaitļu formātiem, izmantojot Microsoft Excel VBA | Lai mainītu konkrētu Excel kolonnu skaitļu formātu, izmantojiet šo VBA fragmentu. Tas ar vienu klikšķi pārklāj norādīto ciparu formātu uz noteiktu formātu.

Populāri raksti:

50 Excel saīsnes, lai palielinātu produktivitāti | Ātrāk izpildiet savu uzdevumu. Šie 50 īsceļi ļaus jums strādāt vēl ātrāk programmā Excel.

Funkcija VLOOKUP programmā Excel | Šī ir viena no visbiežāk izmantotajām un populārākajām Excel funkcijām, kas tiek izmantota, lai meklētu vērtību no dažādiem diapazoniem un lapām.

COUNTIF programmā Excel 2016 | Saskaitiet vērtības ar nosacījumiem, izmantojot šo apbrīnojamo funkciju. Jums nav jāfiltrē dati, lai uzskaitītu konkrētu vērtību. Skaitītāja funkcija ir būtiska, lai sagatavotu informācijas paneli.

Kā lietot SUMIF funkciju programmā Excel | Šī ir vēl viena būtiska informācijas paneļa funkcija. Tas palīdz apkopot vērtības noteiktos apstākļos.