Zmiana szerokości i wysokości na cale

Dean zastanawia się, jak zmienić szerokość kolumny i wysokość wiersza z pikseli na cale. Chciałby utworzyć etykiety w programie Excel, a są one określone w calach.

Przed przejściem do możliwych sposobów rozwiązania tego problemu należy zauważyć, że program Excel używa dziwnego sposobu obliczania wysokości wiersza i szerokości kolumny. W rzeczywistości wysokość wiersza jest obliczana zupełnie inaczej niż szerokość kolumny.

Wysokość wiersza jest mierzona nie w pikselach, lecz w punktach. Piksel jest względną jednostką miary związaną przede wszystkim z urządzeniami wyświetlającymi, takimi jak monitory i drukarki. Jeśli coś ma szerokość 50 pikseli, ten rozmiar, sam w sobie, nic nie znaczy bez wiedzy, ile pikseli urządzenie jest w stanie wyświetlić w pionie.

Punkty, jednak, są dobrze zdefiniowane – są około 72 punkty na cal, więc wysokość rzędu 72 będzie cal wysoki. Proste, prawda?

Teraz rozważmy szerokość kolumny, która nie jest określona ani w pikselach, ani w punktach. Zamiast tego, jest ona określona w szerokościach znaków dowolnego kroju pisma, którego używasz. Na przykład, jeśli Twój styl standardowy jest ustawiony na Courier 10, to szerokość kolumny 12 oznacza, że możesz zmieścić dokładnie 12 znaków w danej kolumnie. Zmień używany krój pisma, a nagle zmieni się również szerokość kolumny, tak aby nadal mogła wyświetlać 12 znaków.

Tak, to podejście jest naprawdę głupie. Sprawia również, że bardzo trudno jest zrobić coś takiego, jak projektowanie etykiet w Excelu. Możesz zaprojektować coś, co działa w twoim systemie (po wielu próbach i błędach), ale jeśli przekażesz ten skoroszyt znajomemu, są duże szanse, że nie będzie on działał w jego systemie. Dlaczego? Ponieważ sposób renderowania kroju pisma w ich systemie może być zupełnie inny niż w Twoim.

Najlepszym sposobem radzenia sobie z etykietami, szczerze mówiąc, jest robienie ich w Wordzie. Możesz zachować dane etykiet w arkuszu Excel, ale użyj funkcji mail merge w programie Word, aby utworzyć rzeczywiste etykiety. Narzędzia przewidziane do tworzenia etykiet są znacznie łatwiejsze i bardziej precyzyjne niż to, co można zrobić w Excelu.

Jeśli koniecznie musisz zrobić to w Excelu, to powinieneś przełączyć się na widok Układ strony. (Wyświetl kartę Widok na wstążce i kliknij narzędzie Układ strony w grupie Widoki skoroszytu). Powoduje to wyświetlenie na ekranie zarówno poziomej, jak i pionowej linijki, której możesz użyć jako przewodnika pomagającego w ustawieniu wysokości wierszy i szerokości kolumn.

Jest jeszcze jeden ciekawy efekt uboczny pracy w widoku Układ strony: Jeśli wyświetlisz kartę Strona główna wstążki i użyjesz poleceń do ustawienia wysokości wiersza i szerokości kolumny (z narzędzia Format), zauważysz, że oba są określone w calach. Powracają one do absurdalnej szerokości kolumny z liczbą znaków dopiero po przełączeniu się z powrotem do widoku normalnego.

Jeśli wolisz ustawiać wysokość i szerokość za pomocą makra, możesz skorzystać z makra WidthHeightInches.

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

Pamiętaj, że szerokość kolumn jest określana przez liczbę cyfr, które można zmieścić poziomo w komórce. Serce tego makra oblicza szerokość pojedynczej cyfry w punktach. Dokonuje tego dzieląc szerokość kolumny w punktach (właściwość .Width) przez szerokość kolumny w znakach (właściwość .ColumnWidth). Wartość ta jest następnie używana do obliczenia, ile znaków powinna mieć kolumna, aby jej szerokość była odpowiednia.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.