Legutóbbi oktatásom során merült fel egy apró ám annál bosszantóbb gond: ha a számoknál ezres csoportosítást akarunk, mégpedig elválasztó nélkül, sőt tizedesjegy nélkül, akkor ezt egy lépésben nem tehetjük meg (pláne nem egy kattintással).
Vagyis ebből:
21507,2172
Ezt akarom megkapni:
21 507
Az excel.uservoice.com oldalon (ahol a felhasználóktól várják a javaslatokat, ötleteket, észrevételeket az Excel-lel kapcsolatosan) létezik egy idevágó bejegyzés angolul, „Number format thousand separator and no decimals” címmel:
A topic a mai napon (2019.10.16) összesen 527 szavazatot kapott, vagyis nem valószínű, hogy a közeljövőben a Microsoft fejlesztői csapata prioritásként kezelné a problémát.
Az ezres elválasztót egyébként Excel-ben meg lehet változtatni, vagyis minden munkafüzetre érvényes lesz (itt Office 365-nél mutatom):
Fájl -> Beállítások -> Speciális -> „Rendszerbeállítások szerinti elválasztók használata” elől pipát kivenni -> beírni az új ezres elválasztót -> OK
Lehetséges megoldások:
I. Egérrel: ez a leggyakoribb módszer
Ezres csoport és Tizedeshelyek csökkentése:
II. Billentyűzettel:
Valószínűleg az alábbi kombináció a leggyorsabb (Számokat tartalmazó tartomány kijelölése után):
- CTRL + 1: Cellák formázása panel
- TAB majd lefelé nyíl (¯): Szám fülön belül a Szám opció
- TAB majd 0: Tizedesjegyek beállítása 0-ra
- TAB majd Szóköz: berakja a pipát az „Ezres csoport()” elé
- Enter
Vagyis a memoriter:
Animálva:
III. Makróval,
melyet hozzáadtam a gyorselérési eszköztárhoz. A VBA kód működés közben (ne pislogjatok, mert lemaradtok róla 😊) – mindössze egy kattintás:
Innentől bármikor ha szükségünk van a formázásra, csak kattintsunk az ikonra, vagy használhatjuk az ALT + 1 kombinációt is (ha az ikon az első a sorban a gyorselérési eszköztáron). A fenti animáción lévő metódus megvalósítása:
1. Nézzük magát a kódot:
1 2 3 4 5 6 7 8 9 |
Sub FormazEzresCsoportNincsTizedes() 'ezres csoportosítás szóközzel, tizedes nélkül, pl.: 39098,718225 -> 39 099 'Készítette: XLMotyo (https://xlmotyo.hu) Application.ThousandsSeparator = " " Selection.NumberFormat = "#,##0" End Sub |
Ez a kód a fentebb ismertetett ezres elválasztót állítja be szóközre, majd a tizedesjegyeket szedi le.
Hátránya, hogy a Visszavonás (Undo) gombbal nem tudjuk visszavonni az addig elvégzett műveleteket Excelben, de ugye valamit valamiért.
2. Ha nincs még egyéni makró munkafüzet létrehozva (Personal.xlsb vagy Personal macro workbook) vagy nem tudjuk, mi az, itt kezdjünk:
https://xlmotyo.hu/blog/egyeni-makro-munkafuzet/
3. Adjuk hozzá a kódot az egyéni makró munkafüzethez. Ehhez ebben a bejegyzésemben találsz segítséget:
https://xlmotyo.hu/blog/kod-hozzaadasa-egyeni-makro-munkafuzethez/
4. A gyorselérési eszköztárhoz történő makró hozzáadása pedig az alábbi posztomban található:
https://xlmotyo.hu/blog/gyorseleresi-eszkoztar/
Mindhárom módszernél fontos: az ezres csoportosítás a cella értékét nem változtatja meg, csak a kinézetét. Vagyis ha a 21507,2172-et formázzuk 21 507-re, attól még a cella valódi értéke 21507,2172 marad, mely a szerkesztőlécben látható:
Neked melyik megoldás tetszett a legjobban? Melyiket fogod alkalmazni innentől?
Remélem hasznos volt a poszt.
Kérdésed, észrevételed van? Hívj vagy dobj egy emailt az xlmotyo@gmail.com-ra