Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Jerrold knows that the LEN function returns the number of characters in a text string. What he needs to know, however, is the number of pixels (not characters) in a text string. He wonders if there is some way to calculate the value.
The short answer is no, there isn't. The longer answer is that maybe there is. (Sound confusing? Read on.) The problem is that pixels—short for picture elements—are basically dots on a rendering device, such as a monitor or (more loosely) on a printer. The number of pixels packed into an inch depends on lots of variables, such as the resolution of the output device as well as its size.
For instance, at the same resolution, the number of pixels in an inch on a 19-inch monitor will be different than the number on a 21-inch monitor. Why? Because the screen resolution is spread over a larger display surface, resulting in fewer pixels per inch of that display surface.
Now let's throw fonts into the mix. Different fonts pack different number of characters into a given linear measurement. You can see this most frequently if you put a bunch of text in a cell, copy the cell down a number of rows, and then apply different fonts to each cell. The contents of the cells will occupy a different horizontal space depending on the font (and point size) selected.
If you are using a monospace font (like Courier) which has a set size for all characters you can calculate the characters per inch for all characters and then, based on the number of characters, determine a rough estimate of the number of pixels. But, you still run into problems because you have to take the output device into consideration.
This will not work with proportionate fonts since the size of the characters vary for each character: Ms are much wider than Is for example. Therefore for each character of each font (and perhaps even each font size) one would need a table of pixel size and one would have to create a function to loop through the string and keep a running total of the sizes from each character. This gets even more complicated if various character attributes, such as bold or italic, or applied to the font.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3802) applies to Microsoft Excel 97, 2000, 2002, and 2003.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!