Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Setting column width

He everyone.

After entering text in columns B,C,E, I want to set the width of column D so
that the sum of columns B:E = 4 inches (for printing purposes).

Right now I have this code:
Columns("B:C").EntireColumn.AutoFit
Columns("E").EntireColumn.AutoFit
TempCW = ActiveWindow.PointsToScreenPixelsX(Columns("B:C"). Width +
Columns("E:E").Width)
'Columns("D").ColumnWidth =
ActiveWindow.PointsToScreenPixelsX(Application.Inc hesToPoints(4) -
Round(TempCW))

Right now, column D ends up way too wide. I think I might be getting mixed
up because there are inches, pixels, and .ColumnWidth (which doesn't equal
anything else).

NOTE: I remember seeing something in the help section about resolution.
This macro will be run on different computers with different resolutions.

One last thing. The firewall at work won't run Java, so I am submitting
this during my lunch hour at home. Could you e-mail any responses to me at
work: .

Thanks, Brad E.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Setting column width

Columnwidth is not set in inches, pixels or points

From help on Columnwidth:
One unit of column width is equal to the width of one character in the
Normal style. For proportional fonts, the width of the character 0 (zero) is
used.

I suspect there are many pixels in one unit of columnwidth



Jon Peltier responded thusly to a question of similar ilk:



Hi Mike -

...ColumnWidth works in zeros, that is, the number of zero characters of
the default font. Most everything else goes by points. I've found the
conversion to be 0.75 points per pixel, 72 points per inch/96 pixels per
inch (96/inch is a standard pixel resolution). Different Windows
settings may affect this: I read recently that using large fonts changes
this to 0.8.

There are a couple of activewindow properties, PointsToScreenPixelsX and
PointsToScreenPixelsY, which tell you the dimensions of an object in
pixels, but I've never had it return any values other than zero.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______


--------------------

Actually I found PointsToScreenPixelX and Y would return values if the
workbook window were maximized, but zero otherwise. Nonetheless, it was
unclear what value they were returning as it differed based on whether the
application window was maximized or not (for the same cell).

--

Regards,

Tom Ogilvy

"Brad E." <Brad wrote in message
...
He everyone.

After entering text in columns B,C,E, I want to set the width of column D

so
that the sum of columns B:E = 4 inches (for printing purposes).

Right now I have this code:
Columns("B:C").EntireColumn.AutoFit
Columns("E").EntireColumn.AutoFit
TempCW = ActiveWindow.PointsToScreenPixelsX(Columns("B:C"). Width +
Columns("E:E").Width)
'Columns("D").ColumnWidth =
ActiveWindow.PointsToScreenPixelsX(Application.Inc hesToPoints(4) -
Round(TempCW))

Right now, column D ends up way too wide. I think I might be getting

mixed
up because there are inches, pixels, and .ColumnWidth (which doesn't equal
anything else).

NOTE: I remember seeing something in the help section about resolution.
This macro will be run on different computers with different resolutions.

One last thing. The firewall at work won't run Java, so I am submitting
this during my lunch hour at home. Could you e-mail any responses to me

at
work: .

Thanks, Brad E.



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 214
Default Setting column width

Hi Brad,
Sub D_Adjust()
Dim R As Single, Unit As Single
Unit = Application.InchesToPoints(1)
Columns("B:C").EntireColumn.AutoFit
Columns("E:E").EntireColumn.AutoFit
R = Unit * 4
R = R - Columns(2).Width - Columns(3).Width - Columns(5).Width
Columns("D:D").EntireColumn.ColumnWidth = SetColWidth(R / Unit, 4)
End Sub

Function SetColWidth(ByVal R As Double, ByVal Col As Byte) As Double
Dim lr As Single
Application.ScreenUpdating = False
lr = Application.InchesToPoints(R)
While Columns(Col).Width lr
Columns(Col).ColumnWidth = Columns(Col).ColumnWidth - 0.1
Wend
While Columns(Col).Width < lr
Columns(Col).ColumnWidth = Columns(Col).ColumnWidth + 0.1
Wend
SetColWidth = Columns(Col).ColumnWidth
End Function

Regards,
MP

"Brad E." <Brad a écrit dans le message de
...
He everyone.

After entering text in columns B,C,E, I want to set the width of column D

so
that the sum of columns B:E = 4 inches (for printing purposes).

Right now I have this code:
Columns("B:C").EntireColumn.AutoFit
Columns("E").EntireColumn.AutoFit
TempCW = ActiveWindow.PointsToScreenPixelsX(Columns("B:C"). Width +
Columns("E:E").Width)
'Columns("D").ColumnWidth =
ActiveWindow.PointsToScreenPixelsX(Application.Inc hesToPoints(4) -
Round(TempCW))

Right now, column D ends up way too wide. I think I might be getting

mixed
up because there are inches, pixels, and .ColumnWidth (which doesn't equal
anything else).

NOTE: I remember seeing something in the help section about resolution.
This macro will be run on different computers with different resolutions.

One last thing. The firewall at work won't run Java, so I am submitting
this during my lunch hour at home. Could you e-mail any responses to me

at
work: .

Thanks, Brad E.


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Setting column width to specific row in Excel doc ??? Thanks! Setting column width to specific row Excel Discussion (Misc queries) 2 July 8th 09 02:07 AM
setting column width James Excel Discussion (Misc queries) 1 July 11th 08 12:02 AM
Setting column width in a table Box815 Excel Discussion (Misc queries) 4 October 11th 06 06:34 AM
Setting column width for blank columns gmr7 Excel Discussion (Misc queries) 0 January 17th 06 03:16 PM
Setting Column Width on Imported Data B.C.Lioness Excel Discussion (Misc queries) 0 May 16th 05 09:41 PM


All times are GMT +1. The time now is 08:54 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"