VBA dynamically change width listbox

F

Frederik

Using Windows XP Eccel 2003

On a UserForm there are only one ListBox and one OK button.
I would like to change the width of the UserForm, the width of the ListBox
and the position of the OK button,
depending on the largest element in the ListBox (depending on the variable
atl).

I'm using this code:

UserForm2.Width = atl * 158 / 31 + 80
UserForm2.ListBox2.Width = atl * 158 / 31 + 5
UserForm2.OKknop.Left = atl * 158 / 31 + 25

When I use Show to activate UserForm2 , the width of the UserForm and the
position of the OK button are changed, but not the width of the ListBox!
Why not?

Any hint is very welcome!
 
F

Frederik

Supplementary information:

If I put a Msgbox instruction in the code to display whatever message, then
the width of the listbox ís changed!
Strange ...
But I don't want that message on screen...
 
F

Frederik

Problem solved!
I moved the procedure to change the width of the listbox to the procedure
accompagning userform2

public sub userform_activate()
userform2.listbox2.width = atl*158/31+5
end sub

and defined the variable atl as a public variable in my first module
 
J

JLGWhiz

Glad you found a solution. I had assumed that the code was in the initialize
event. I should have followed my own rule and never assume anything.
 

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