Resize columns wider for pick list

J

Joe M.

I have some code that widens certain colums when clicked upon so I can see
the pick list entire width but don't need the column to stay that width after
selecting the pick list. The code works correctly, however I don't need it to
apply to the entire column, only to certain cells or a range. The code is
below. What changes would I need for particular cells or a cell range within
a column?
Thanks,
Joe M.

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myColumns As Variant
Dim myWidthSelected As Variant
Dim myWidthNormal As Variant
Dim iCtr As Long

myColumns = Array("a", "b", "c", "f")
myWidthSelected = Array(30, 40, 30, 40)
myWidthNormal = Array(21, 26, 21, 4.14)

If Target.Count > 1 Then Exit Sub

For iCtr = LBound(myColumns) To UBound(myColumns)
If Intersect(Target, _
Me.Cells(1, myColumns(iCtr)).EntireColumn) Is Nothing Then
Me.Cells(1, myColumns(iCtr)).EntireColumn.ColumnWidth _
= myWidthNormal(iCtr)
Else
Me.Cells(1, myColumns(iCtr)).EntireColumn.ColumnWidth _
= myWidthSelected(iCtr)
End If
Next iCtr

End Sub
 
C

Chip Pearson

You cannot change the width of individual cells. All the cells in a
column must have the same width. Similarly, all cells in a row must
have the same height.

Cordially,
Chip Pearson
Microsoft MVP 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
[email on web site]
 
T

Tom Hutchins

A column-width setting applies to the entire column. You can't make some
cells wider or narrower than other cells in the same column. You can merge
adjacent cells to simulate a wider column, but there are drawbacks to merged
cells. If more than one of the cells has data before merging, only the first
(topmost, leftmost) cell will retain its data after merging. Merged cells
also interfere with some features (like sorting).

Hope this helps,

Hutch
 
F

FSt1

hi
when adjusting column widths and row heighths, its an all or nothing deal.
you cann't adjust part of a column to different widths than the rest of the
column. same for row heighths. at times it may seem that you can but this may
be to the illusion of merged cells.

regards
FSt1
 
J

Joe M.

I understand that certain cells cannot be widened, that only the entire
column can be widened. However, I don't want the column to be widened when
clicking anywhere in the column. I would like the column to be widened only
upon clicking of certain cells or a range of vertical cells within the column
to be widened. Can this be done?

Thanks,
Joe M.

Chip Pearson said:
You cannot change the width of individual cells. All the cells in a
column must have the same width. Similarly, all cells in a row must
have the same height.

Cordially,
Chip Pearson
Microsoft MVP 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
[email on web site]



I have some code that widens certain colums when clicked upon so I can see
the pick list entire width but don't need the column to stay that width after
selecting the pick list. The code works correctly, however I don't need it to
apply to the entire column, only to certain cells or a range. The code is
below. What changes would I need for particular cells or a cell range within
a column?
Thanks,
Joe M.

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myColumns As Variant
Dim myWidthSelected As Variant
Dim myWidthNormal As Variant
Dim iCtr As Long

myColumns = Array("a", "b", "c", "f")
myWidthSelected = Array(30, 40, 30, 40)
myWidthNormal = Array(21, 26, 21, 4.14)

If Target.Count > 1 Then Exit Sub

For iCtr = LBound(myColumns) To UBound(myColumns)
If Intersect(Target, _
Me.Cells(1, myColumns(iCtr)).EntireColumn) Is Nothing Then
Me.Cells(1, myColumns(iCtr)).EntireColumn.ColumnWidth _
= myWidthNormal(iCtr)
Else
Me.Cells(1, myColumns(iCtr)).EntireColumn.ColumnWidth _
= myWidthSelected(iCtr)
End If
Next iCtr

End Sub
.
 
G

Gord Dibben

Using event code you can do this.

See Debra Dalgleish's site for code.

http://www.contextures.on.ca/xlDataVal08.html#Wider


Gord Dibben MS Excel MVP

I understand that certain cells cannot be widened, that only the entire
column can be widened. However, I don't want the column to be widened when
clicking anywhere in the column. I would like the column to be widened only
upon clicking of certain cells or a range of vertical cells within the column
to be widened. Can this be done?

Thanks,
Joe M.

Chip Pearson said:
You cannot change the width of individual cells. All the cells in a
column must have the same width. Similarly, all cells in a row must
have the same height.

Cordially,
Chip Pearson
Microsoft MVP 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
[email on web site]



I have some code that widens certain colums when clicked upon so I can see
the pick list entire width but don't need the column to stay that width after
selecting the pick list. The code works correctly, however I don't need it to
apply to the entire column, only to certain cells or a range. The code is
below. What changes would I need for particular cells or a cell range within
a column?
Thanks,
Joe M.

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myColumns As Variant
Dim myWidthSelected As Variant
Dim myWidthNormal As Variant
Dim iCtr As Long

myColumns = Array("a", "b", "c", "f")
myWidthSelected = Array(30, 40, 30, 40)
myWidthNormal = Array(21, 26, 21, 4.14)

If Target.Count > 1 Then Exit Sub

For iCtr = LBound(myColumns) To UBound(myColumns)
If Intersect(Target, _
Me.Cells(1, myColumns(iCtr)).EntireColumn) Is Nothing Then
Me.Cells(1, myColumns(iCtr)).EntireColumn.ColumnWidth _
= myWidthNormal(iCtr)
Else
Me.Cells(1, myColumns(iCtr)).EntireColumn.ColumnWidth _
= myWidthSelected(iCtr)
End If
Next iCtr

End Sub
.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top