Veranderen van breedte en hoogte in inches

Dean vraagt zich af hoe hij de kolombreedte en de rijhoogte kan wijzigen van pixels in inches. Hij wil etiketten maken in Excel, en die zijn gespecificeerd in inches.

Voordat we ingaan op mogelijke manieren om dit probleem aan te pakken, moet erop worden gewezen dat Excel een vreemde manier gebruikt voor het berekenen van de rijhoogte en de kolombreedte. In feite wordt de rijhoogte geheel anders berekend dan de kolombreedte.

Rijhoogte wordt niet gemeten in pixels, maar in punten. Een pixel is een relatieve meeteenheid die vooral betrekking heeft op beeldschermen zoals monitoren en printers. Als iets 50 pixels breed is, betekent die grootte op zichzelf niets zonder te weten hoeveel pixels het apparaat verticaal kan weergeven.

Punten zijn echter wel goed gedefinieerd – er zijn ongeveer 72 punten per inch, dus een rijhoogte van 72 zou een inch hoog zijn. Simpel, toch?

Nou, kijk eens naar de kolombreedte, die niet wordt gespecificeerd in pixels of punten. In plaats daarvan wordt zij gespecificeerd in tekenbreedtes van het lettertype dat u gebruikt. Als uw standaardstijl bijvoorbeeld is ingesteld op Courier 10, dan betekent een kolombreedte van 12 dat er precies 12 tekens in een bepaalde kolom passen. Verander het gebruikte lettertype, en plotseling zal de kolombreedte ook veranderen, zodat er nog steeds 12 karakters in passen.

Ja, die aanpak is echt maf. Het maakt het ook erg moeilijk om iets te doen als labels ontwerpen in Excel. U kunt iets ontwerpen dat werkt op uw systeem (na veel vallen en opstaan), maar als u vervolgens de werkmap doorstuurt naar een vriend, is de kans groot dat het niet werkt op hun systeem. Waarom niet? Omdat de weergave van een lettertype op hun systeem heel anders kan zijn dan op het uwe.

De beste manier om met etiketten om te gaan, is eerlijk gezegd om ze in Word te maken. U kunt uw etiketgegevens in een Excel-werkblad bewaren, maar gebruik mail merge in Word om de eigenlijke etiketten te maken. De hulpmiddelen voor etiketten zijn veel gemakkelijker en veel nauwkeuriger dan wat u in Excel kunt doen.

Als u het absoluut in Excel moet doen, moet u overschakelen naar de weergave Pagina-indeling. (Ga naar het tabblad Beeld van het lint en klik op het gereedschap Pagina-indeling in de groep Werkboekweergaven). Dit toont zowel horizontale als verticale linialen op het scherm die u kunt gebruiken als een gids om te helpen bij het instellen van uw rijhoogte en kolombreedtes.

Er is nog een interessant neveneffect van het werken in de pagina-opmaakweergave: Als u het tabblad Home van het lint weergeeft en de opdrachten gebruikt voor het instellen van de rijhoogte en kolombreedte (vanuit het opmaakgereedschap), zult u merken dat beide worden gespecificeerd in inches. Ze gaan alleen terug naar de absurde kolombreedte voor het aantal tekens als u terugschakelt naar de Normale weergave.

Als u de hoogte en breedte liever instelt met behulp van een macro, vindt u misschien de WidthHeightInches macro leerzaam.

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

Bedenk dat kolombreedtes worden gespecificeerd door het aantal cijfers dat horizontaal in een cel kan worden gepast. Het hart van deze macro berekent de breedte van een enkel cijfer, in punten. Hij doet dit door de breedte van de kolom in punten (de eigenschap .Width) te delen door de breedte van de kolom in tekens (de eigenschap .ColumnWidth). Deze waarde wordt dan gebruikt om te berekenen hoeveel tekens breed de kolom moet zijn om de gewenste breedte te krijgen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.