Solved

Excel Data Validation List Sizing and Selection

Posted on 2015-02-17
10
63 Views
Last Modified: 2015-02-18
Please see attached spreadsheet.

I would like the data validation list show the entire selection - Example: AL - ALABAMA.

But after selection only show the initials - Example after selection form  list :   AL

I also want the column to only be as wide as the selected initials, so selection drop down list is large and shows full selection but column still only as wide as the initials of the state.

Thanks
C--Users-dlehman-Desktop-Test-Sheet.xlsx
0
Comment
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
10 Comments
 
LVL 48

Accepted Solution

by:
Martin Liss earned 500 total points
ID: 40615144
Add this to sheet1's code.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("B4:B13")) Is Nothing Then
    Application.EnableEvents = False
    ActiveCell = Left(ActiveCell, 2)
    Columns("B:B").EntireColumn.AutoFit
    Application.EnableEvents = True
End If
End Sub

Open in new window

0
 

Author Comment

by:haradaindustryofamerica
ID: 40615173
Thanks Martin - how to do that?  Sorry for being rookie.
0
 

Author Comment

by:haradaindustryofamerica
ID: 40615195
Thanks MArtin - Been awhile but I remembered.
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 48

Expert Comment

by:Martin Liss
ID: 40615356
You'll note that the width of the column is being limited by the width of "State" so if you truly want it to be the width of the abbreviation you could change the heading to "ST" or change line 5 to  Columns("B").ColumnWidth = 2.45.


In any case you're welcome and I'm glad I was able to help.

In my profile you'll find links to some articles I've written that may interest you.
Marty - MVP 2009 to 2014
0
 

Author Comment

by:haradaindustryofamerica
ID: 40616689
Hi Martin,

I have used the lines in a new sheet (see attached) but for some reason it is not working properly for resizing the column as well as the drop down list.

Could you please take a look at the attached sheet the "Type" column and let me know what I am doing wrong?

Thanks
C--Users-dlehman-Desktop-Part-Order-Form
0
 
LVL 48

Expert Comment

by:Martin Liss
ID: 40616776
The drop-down list worked for me but it was resizing the wrong column.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("C12:C21")) Is Nothing Then
    Application.EnableEvents = False
    ActiveCell = Left(ActiveCell, 2)
'    Columns("B:B").EntireColumn.AutoFit
    Columns("C:C").EntireColumn.AutoFit
    
    Application.EnableEvents = True
End If
End Sub

Open in new window

0
 

Author Comment

by:haradaindustryofamerica
ID: 40616860
Martin,

Great thanks, that works perfect now for me before saving the file.

After I save the file and then re-open the file to add more data, the data validation list sizing does not work properly. Please see two screen shot attachments of before and after save.
C--Users-dlehman-Desktop-After-save---Re
C--Users-dlehman-Desktop-Before-Saving-a
0
 
LVL 48

Expert Comment

by:Martin Liss
ID: 40616991
I think the best solution is to not manipulate the width of the Type column at all but rather just set it to about 17 and keep it static. Other than that I see only two other choices:

1) Add this code to the workbook.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("C12:C21")) Is Nothing Then
    Target.Columns.ColumnWidth = 15
End If
End Sub

Open in new window

There a small problem with this approach and that is if you select a Type and then try to change the Type without first moving off the cell, the cell won't expand.

2) Use the code in my Magical Floating ActiveX Control article to float a wider combobox on top of the dropdown list. I could help you with that if you want, but I'd appreciate it if you'd open a new question for that.
0
 

Author Comment

by:haradaindustryofamerica
ID: 40617314
Holy mackerel that is way past my experience level, I will open a ticket for your assistance!

Thanks Martin.
0
 

Author Comment

by:haradaindustryofamerica
ID: 40617335
Martin - New question posted.

Question title
  -  Magical Floating ActiveX Control fro Excel Data Validation List
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

: Microsoft Office Collaborate for free and online versions of Microsoft  Word, Excel, Powerpoint, OneNote, Onedrive , Email, Calendar etc. In short we can say that Microsoft office is a suite of servers, applications and services developed by  Micr…
This article helps those who get the 0xc004d307 error when trying to rearm (reset the license) Office 2013 in a Virtual Desktop Infrastructure (VDI) and/or those trying to prep the master image for Microsoft Key Management (KMS) activation. (i.e.- C…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

626 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question