V nedávnej úlohe som robil filtrovanie cez VBA v stĺpci čísel. Tento stĺpec čísel však obsahoval čísla v textovom formáte. Keď spustím skript VBA, samozrejme to nefungovalo, pretože filter bol číslo a stĺpec mal čísla ako text. V takom prípade som potreboval text previesť na čísla ručne a uložiť ho. Potom makro fungovalo perfektne. Ale chcel som tieto texty previesť na čísla pomocou skriptu VBA a podarilo sa mi to. Chcel som to zdieľať, ako keby niekto chcel vedieť, ako previesť textové hodnoty na číslo pomocou VBA, môže sa na to pozrieť.
Konvertujte text na číslo pomocou metódy Range.NumberFormat
Táto prvá a najľahšia metóda. Dávam prednosť tejto metóde pred inými metódami, pretože priamo prevádza vybraný rozsah programu Excel do číselného formátu.
Ak teda máte pevný rozsah, ktorý chcete previesť na text, použite tento útržok VBA.
Sub ConvertTextToNumber () Range ("A3: A8"). NumberFormat = "General" Range ("A3: A8"). Value = Range ("A3: A8"). Value End Sub
Keď spustíte vyššie uvedený kód, prevedie text z rozsahu A3: A8 na text.
Tento kód môže vyzerať elegantnejšie, ak ho napíšeme takto.
Sub ConvertTextToNumber () s rozsahom ("A3: A8") .NumberFormat = "General" .Value = .Value Koniec s koncom Sub
Ako to funguje?
No je to celkom jednoduché. Najprv zmeníme formát čísel rozsahu na Všeobecné. Potom vložíme hodnotu tohto rozsahu do rovnakého rozsahu pomocou VBA. Toto úplne odstráni formátovanie textu. Jednoduché, nie?
Zmeňte počet formátovaní dynamického rozsahu
Vo vyššie uvedenom kóde sme vo vyššie uvedenom kóde pevného rozsahu zmenili text na číslo, ale väčšinou to tak nebude. Na prevod textu na niekoľko dynamických rozsahov môžeme vyhodnotiť poslednú použitú bunku alebo rozsah vybrať dynamicky.
Takto by to vyzeralo:
Sub ConvertTextToNumber () s rozsahom ("A3: A" & bunky (riadky.počet, 1). Koniec (xlUp) .Row) .NumberFormat = "všeobecné" .hodnota = .hodnota koniec
Tu viem, že rozsah začína od A3. Ale neviem, kde sa to môže skončiť.
Takže dynamicky identifikujem posledný použitý riadok Excelu, ktorý obsahuje údaje, pomocou útržkov buniek VBA (Rows.Count, 1). End (xlUp) .Row. Vráti číslo posledného použitého riadka, ktoré spájame s „A3: A“.
Poznámka: Tento útržok VBA bude fungovať na aktívnom zošite a aktívnom pracovnom hárku. Ak sa váš kód prepína cez viacero hárkov, bolo by lepšie nastaviť objekt rozsahu zamýšľaného pracovného hárka. Páči sa ti to
Sub ConvertTextToNumber () Nastaviť Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1). End (xlUp) .Row) With Rng .NumberFormat = "General" .Value = .Hodnota koniec s koncom podč
Vyššie uvedený kód vždy zmení text na číslo listu1 zošita, ktorý obsahuje tento kód.
Slučkou a CSng zmeníte text na číslo
Ďalšou metódou je prejsť každou bunkou a zmeniť hodnotu bunky na číslo pomocou funkcie CSng. Tu je kód.
Sub ConvertTextToNumberLoop () Nastaviť Rng = ThisWorkbook.Sheets ("Sheet1"). Range ("A3: A" & Cells (Rows.Count, 1) .End (xlUp) .Row) For each cel In Rng.Cells cel.Value = CSng (cel.Hodnota) Ďalší cel Koniec Kon
Vo vyššie uvedenom úryvku VBA používame slučku VBA For na iteráciu každej bunky v rozsahu a konverziu hodnoty každej bunky na číslo pomocou funkcie CSng VBA.
Takže áno, chlapci, takto môžete v programe Excel pomocou VBA meniť texty na čísla. Tieto úryvky môžete použiť na prípravu pracovného hárka predtým, ako na ňom vykonáte akúkoľvek operáciu s číslom. Dúfam, že som bol dostatočne vysvetľujúci. Pracovný súbor si môžete stiahnuť tu.
Zmeňte text na číslo pomocou VBA.
Ak máte akékoľvek pochybnosti týkajúce sa tohto prevodu textu na číslo alebo akéhokoľvek iného dotazu súvisiaceho s programom Excel/VBA, opýtajte sa ho v sekcii komentárov nižšie.
Ako získať text a číslo opačne prostredníctvom VBA v programe Microsoft Excel | Na obrátenie čísla a textu používame vo VBA slučky a strednú funkciu. 1234 sa prevedie na 4321, „vy“ sa zmení na „uoy“. Tu je úryvok.
Formátujte údaje pomocou vlastných formátov čísel pomocou jazyka VBA v programe Microsoft Excel | Na zmenu formátu čísla konkrétnych stĺpcov v programe Excel použite tento útržok VBA. Jedným kliknutím prekryje formát čísla zo zadaného do zadaného formátu.
Populárne články:
50 skratiek programu Excel na zvýšenie produktivity | Vykonajte svoju úlohu rýchlejšie. Týchto 50 skratiek vám umožní pracovať ešte rýchlejšie v Exceli.
Funkcia VLOOKUP v programe Excel | Toto je jedna z najpoužívanejších a najobľúbenejších funkcií programu Excel, ktorá sa používa na vyhľadávanie hodnôt z rôznych rozsahov a hárkov.
COUNTIF v Exceli 2016 | Počítajte hodnoty s podmienkami pomocou tejto úžasnej funkcie. Na počítanie konkrétnej hodnoty nepotrebujete filtrovať svoje údaje. Funkcia Countif je potrebná na prípravu palubnej dosky.
Ako používať funkciu SUMIF v programe Excel | Toto je ďalšia zásadná funkcia palubnej dosky. To vám pomôže zhrnúť hodnoty za konkrétnych podmienok.