Dean arra kíváncsi, hogyan lehet az oszlopszélességet és a sormagasságot pixelről hüvelykre módosítani. Címkéket szeretne létrehozni az Excelben, és ezeket hüvelykben adják meg.
Mielőtt rátérnénk a probléma megoldásának lehetséges módjaira, rá kell mutatnunk, hogy az Excel furcsa módon számítja ki a sormagasságot és az oszlopszélességet. A sormagasságot ugyanis teljesen másképp számítja ki, mint az oszlopszélességet.
A sormagasságot nem pixelben, hanem pontokban méri. A pixel egy relatív mértékegység, amely elsősorban a megjelenítő eszközökhöz, például a monitorokhoz és nyomtatókhoz kapcsolódik. Ha valami 50 pixel széles, ez a méret önmagában semmit sem jelent anélkül, hogy tudnánk, hány pixelt képes az eszköz függőlegesen megjeleníteni.
A pontok azonban jól meghatározottak – hüvelykenként körülbelül 72 pont van, így egy 72 pontos sormagasság egy hüvelyk magasnak felel meg. Egyszerű, nem?
Most nézzük meg az oszlopszélességet, amelyet sem pixelekkel, sem pontokkal nem határozunk meg. Ehelyett a használt betűtípus karakterszélességében van megadva. Ha például a Standard stílusa Courier 10-re van állítva, akkor a 12-es oszlopszélesség azt jelenti, hogy pontosan 12 karakter fér el egy adott oszlopban. Változtassa meg a használt betűtípust, és hirtelen az oszlopszélesség is megváltozik, így még mindig 12 karaktert tud megjeleníteni.
Igen, ez a megközelítés nagyon ostoba. Ráadásul nagyon megnehezíti az olyan dolgokat, mint a címkék tervezése az Excelben. Lehet, hogy megtervezel valamit, ami működik a rendszereden (jó sok próbálkozás és hiba után), de ha aztán továbbküldöd a munkafüzetet egy barátodnak, jó esély van rá, hogy az ő rendszerükön nem fog működni. Hogy miért? Mert az ő rendszerükön teljesen másképp jelenik meg egy betűtípus, mint az Ön rendszerén.
A címkékkel való bánásmód legjobb módja, őszintén szólva, az, ha a Wordben készítjük el őket. A címkeadatokat megtarthatja egy Excel munkalapon, de a tényleges címkék létrehozásához használhatja a Wordben az összevont levelezést. A címkékhez biztosított eszközök sokkal egyszerűbbek és sokkal pontosabbak, mint amit az Excelben megtehet.
Ha mindenképpen az Excelben kell csinálnia, akkor váltson át az Oldalelrendezés nézetre. (Jelenítse meg a szalag Nézet lapját, és kattintson a Munkafüzet nézetei csoportban az Oldalelrendezés eszközre.) Ezáltal vízszintes és függőleges vonalzó is megjelenik a képernyőn, amelyet útmutatóként használhat a sormagasság és az oszlopszélesség beállításához.
Az Oldalelrendezés nézetben való munkának van még egy érdekes mellékhatása: Ha megjeleníti a szalag Kezdőlap lapját, és használja a sormagasság és az oszlopszélesség beállítására szolgáló parancsokat (a Formátum eszközből), észre fogja venni, hogy mindkettő hüvelykben van megadva. Csak akkor térnek vissza az abszurd karakterszámú oszlopszélességre, ha visszavált a Normál nézetbe.
Ha a magasság és a szélesség beállítását inkább makró segítségével szeretné elvégezni, akkor a WidthHeightInches makró tanulságos lehet.
Sub WidthHeightInches() Dim Temp As String Dim RInch As Single Dim CInch As Single Dim WPChar As Double Dim c As Range Dim r As Range Temp = InputBox("Row height in inches?") RInch = Val(Temp) If RInch > 0 And RInch <= 2 Then Temp = InputBox("Column width in inches?") CInch = Val(Temp) If CInch > 0 And CInch <= 3 Then For Each c In ActiveWindow.RangeSelection.Columns WPChar = c.Width / c.ColumnWidth c.ColumnWidth = ((CInch * 72) / WPChar) Next c For Each r In ActiveWindow.RangeSelection.Rows r.RowHeight = (RInch * 72) Next r End If End IfEnd Sub
Ne feledje, hogy az oszlopszélességeket a cellában vízszintesen elférő számjegyek száma határozza meg. Ennek a makrónak a lényege egyetlen számjegy szélességét számítja ki, pontokban. Ezt úgy teszi, hogy az oszlop pontokban megadott szélességét (a .Width tulajdonság) elosztja az oszlop karakterekben megadott szélességével (a .ColumnWidth tulajdonság). Ezt az értéket azután arra használja, hogy kiszámolja, hány karakter szélesnek kell lennie az oszlopnak ahhoz, hogy a kívánt szélességű legyen.