Tartalomjegyzék
A Microsoft Excelben a számokkal való munka a leggyakoribb. Néha nagy mennyiségű számot tartalmazó adathalmazt kell feldolgoznunk. De előfordulhat, hogy olyan helyzetbe kerülünk, amikor a számok szövegnek tűnnek. Emiatt nem tudunk összeadni, kivonni, osztani, szorozni vagy bármilyen műveletet végrehajtani. Mindig hibát mutat, amikor megpróbáljuk ezt megtenni. Ebben a bemutatóban megtanítjuk, hogyan alakíthatjuk át aszövegből számot Excelben a VBA kódok megfelelő példákkal és megfelelő illusztrációkkal.
Gyakorlati munkafüzet letöltése
Töltse le ezt a gyakorlati munkafüzetet
Szöveg átalakítása számokká VBA.xlsm használatával
Szövegként formázott számok azonosítása
A Microsoft Excel elég okos ahhoz, hogy megértse a különbséget a szöveg és a szám között. Automatikusan konvertálja őket a megfelelő formátumba. De néha nem tudja ezt megtenni az adathalmaz bizonyos visszaélései és félreértelmezései miatt. Emiatt a számokat szövegként tartja meg a munkafüzetben.
Nézzük meg ezt az adatkészletet. Itt van néhány szám egy oszlopban.
Bár vannak számok az oszlopban, ezek mind balra vannak igazítva, mint a szöveg. Most kattintson bármelyik cellára. A cella mellett ezt a mezőt találja.
Most vigye az egérkurzort a doboz fölé, ezután a következő üzenet jelenik meg.
Megmutatja, hogy a cella szövegként van-e formázva. Így biztos lehet benne, hogy a cellák szövegként vannak-e formázva vagy sem.
3 VBA-kódok a szöveg Excelben lévő szöveg számokká történő átalakításához
Bár kézzel is könnyen konvertálhatsz szöveget számokká, ez a bemutató a szöveg számokká alakításáról szól VBA kódok segítségével. Javasoljuk, hogy tanuld meg és alkalmazd ezeket a módszereket az adatállományodra. Biztosan sok helyzetben jól fog jönni.
1. VBA-kód a Range.NumberFormat módszerrel a szöveg számmá alakításához Excelben
Ez a módszer nagyon egyszerű és könnyen használható bármilyen adathalmazon. Mindössze annyit kell tennie, hogy kijelöli a cellatartományt, és beilleszti a VBA kód .
📌 Lépések
1. Először nyomja meg a ALT+F11 a billentyűzeten a VBA szerkesztő .
2. Kattintson a Beszúrás> modul .
3. Ezután írja be a következő kódot:
Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub
4. Mentse el a fájlt.
5. Ezután nyomja meg a ALT+F8 Megnyitja a Makró párbeszédpanel.
6. Válassza ki ConvertTextToNumber és kattintson a Fuss.
Végül ez a kód a szövegünket számokká alakítja át.
Bővebben: Hogyan alakítsuk át a karakterláncot az Excel VBA számává?
2. VBA kód ciklus és CSng segítségével a szöveg számmá történő átalakításához
Ebben a módszerben a Hurok és CSng funkciók. CSng függvény alapvetően bármilyen szöveget elfogad argumentumként, és egyetlen számmá alakítja át. A ciklusunk végigmegy a kiválasztott oszlop minden egyes celláján. Ezután minden egyes cella értékét átadjuk a következő függvénynek. CSng függvényt, hogy szövegből számmá alakítsa át.
📌 Lépések
1. Először nyomja meg a ALT+F11 a billentyűzeten a VBA szerkesztő .
2. Kattintson a Beszúrás> modul .
3. Ezután írja be a következő kódot:
Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub
4. Mentse el a fájlt.
5. Ezután nyomja meg a ALT+F8 Megnyitja a Makró párbeszédpanel.
6. Válassza ki ConvertUsingLoop és kattintson a Fuss.
Amint láthatja, a szöveget számokká alakítottuk át ezzel a VBA-kóddal.
Hasonló olvasmányok
- Szöveg tömeges átalakítása számokká az Excelben (6 mód)
- Hogyan alakítsuk át a karakterláncot hosszúra a VBA használatával az Excelben (3 mód)
- String átalakítása kettősre az Excel VBA-ban (5 módszer)
- Hogyan lehet javítani az Excel számhiba konvertálását (6 módszer)
3. Szöveg átalakítása számokká dinamikus tartományok számára az Excelben
Az előző módszerek a kiválasztott tartományokra vonatkoztak. Ez azt jelenti, hogy a kódban kézzel kell beírni a cellák tartományát. De néha az adatállományunk nagy lehet. Ezekben az esetekben emlékeznünk kell a cellák tartományára. Ez a módszer megoldja ezt a problémát. Tudjuk, hogy az adatállományunk a következőktől kezdődik. B5 sejt De nem tudjuk, hol ér véget.
Tehát dinamikusan azonosítjuk az utoljára használt excel sort, amely adatokat tartalmaz a következővel Cells(Rows.Count, "B").End(xlUp).Row
Visszaadja az utolsó nem üres sorszámot, amelyet a " B5:B ".
📌 Lépések
1. Először nyomja meg a ALT+F11 a billentyűzeten a VBA szerkesztő .
2. Kattintson a Beillesztés > Modul .
3. Ezután írja be a következő kódot:
Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub
4. Mentse el a fájlt.
5. Ezután nyomja meg a ALT+F8 Megnyitja a Makró párbeszédpanel.
6. Ezután válassza ki a ConvertDynamicRanges és kattintson a Fuss.
Mint látható, a VBA-kódok segítségével sikeresen alakítjuk át a szöveget számokká.
💬 Emlékezetes dolgok
✎ Itt a B oszlopot használjuk az adatállományunkhoz. Ha az Ön adatai más oszlopban vannak, akkor a VBA-kódok cellatartományát ennek megfelelően módosítsa.
✎ A VBA-kódok csak az aktív lapon működnek.
Következtetés
Végezetül remélem, hogy ez a bemutató hasznos ismereteket nyújtott Önnek a szöveg számokká alakításáról az Excelben a VBA kódok segítségével. Javasoljuk, hogy tanulja meg és alkalmazza ezeket az utasításokat az adatállományára. Töltse le a gyakorlati munkafüzetet, és próbálja ki ezeket saját maga. Továbbá, bátran adjon visszajelzést a megjegyzés rovatban. Az értékes visszajelzései motiválnak minket, hogy ilyen bemutatókat hozzunk létre.Ne felejtse el megnézni weboldalunkat Exceldemy.com különböző Excelhez kapcsolódó problémák és megoldások.