Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Listbox - Rowsource

On a user form I have a listbox that I am populating by having set it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract entries
from this named range. I have code which changes the named range when new
items need to be added/subtracted and this works. However what do I have to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the listbox
to have the changes recognised.

PWS


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Listbox - Rowsource

If that code is executed outwith the form, all you need to do is set the
rowsource property on the userform initialize event

Listbox1.RowSource = Range("range_name").Address

as it is a string property.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
On a user form I have a listbox that I am populating by having set it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract

entries
from this named range. I have code which changes the named range when new
items need to be added/subtracted and this works. However what do I have

to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the

listbox
to have the changes recognised.

PWS




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Listbox - Rowsource

The rowsource is set at run-time, and works fine until an event on the
userform causes an update to the rowsource.

It seems I have to physically make a large change to the scroll bar to make
the listbox xhnage to reflect the change of it's rowsource.

PWS


"Bob Phillips" wrote in message
...
If that code is executed outwith the form, all you need to do is set the
rowsource property on the userform initialize event

Listbox1.RowSource = Range("range_name").Address

as it is a string property.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
On a user form I have a listbox that I am populating by having set it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract

entries
from this named range. I have code which changes the named range when
new
items need to be added/subtracted and this works. However what do I have

to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the

listbox
to have the changes recognised.

PWS






  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Listbox - Rowsource

Paul,

This worked for me

Private Sub CommandButton1_Click()
ActiveWorkbook.Names.Add Name:="range_name", RefersTo:="=A1:A5"
Me.ListBox1.RowSource = Range("range_name").Address
End Sub

Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = Range("range_name").Address
End Sub


--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
The rowsource is set at run-time, and works fine until an event on the
userform causes an update to the rowsource.

It seems I have to physically make a large change to the scroll bar to

make
the listbox xhnage to reflect the change of it's rowsource.

PWS


"Bob Phillips" wrote in message
...
If that code is executed outwith the form, all you need to do is set the
rowsource property on the userform initialize event

Listbox1.RowSource = Range("range_name").Address

as it is a string property.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
On a user form I have a listbox that I am populating by having set it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract

entries
from this named range. I have code which changes the named range when
new
items need to be added/subtracted and this works. However what do I

have
to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the

listbox
to have the changes recognised.

PWS








  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Listbox - Rowsource

I am sure it does, but you are not understanding my problem.

Using your example below, with the userform open, i.e. through events fired
by this you may want to put a button on or something, make a change to the
range A1:A5. Does the contents of your listbox instantly change to reflect
this, or do you have to something to make the change register with the
listbox.

What event do I fire through code to update the listbox?


"Bob Phillips" wrote in message
...
Paul,

This worked for me

Private Sub CommandButton1_Click()
ActiveWorkbook.Names.Add Name:="range_name", RefersTo:="=A1:A5"
Me.ListBox1.RowSource = Range("range_name").Address
End Sub

Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = Range("range_name").Address
End Sub


--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
The rowsource is set at run-time, and works fine until an event on the
userform causes an update to the rowsource.

It seems I have to physically make a large change to the scroll bar to

make
the listbox xhnage to reflect the change of it's rowsource.

PWS


"Bob Phillips" wrote in message
...
If that code is executed outwith the form, all you need to do is set
the
rowsource property on the userform initialize event

Listbox1.RowSource = Range("range_name").Address

as it is a string property.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
On a user form I have a listbox that I am populating by having set
it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract
entries
from this named range. I have code which changes the named range when
new
items need to be added/subtracted and this works. However what do I

have
to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the
listbox
to have the changes recognised.

PWS












  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,339
Default Listbox - Rowsource

Paul,
From very limited testing, the only "event" required is logic
which recognises the listsource range has changed and then execute Bob's code:

ActiveWorkbook.Names.Add Name:="range_name", RefersTo:="=A1:A5"
Userform1.ListBox1.RowSource = Range("range_name").Address

I placed the above code in a general module and called it on a IF condition.
Listbox was updated immediately.


HTH

"Paul W Smith" wrote:

I am sure it does, but you are not understanding my problem.

Using your example below, with the userform open, i.e. through events fired
by this you may want to put a button on or something, make a change to the
range A1:A5. Does the contents of your listbox instantly change to reflect
this, or do you have to something to make the change register with the
listbox.

What event do I fire through code to update the listbox?


"Bob Phillips" wrote in message
...
Paul,

This worked for me

Private Sub CommandButton1_Click()
ActiveWorkbook.Names.Add Name:="range_name", RefersTo:="=A1:A5"
Me.ListBox1.RowSource = Range("range_name").Address
End Sub

Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = Range("range_name").Address
End Sub


--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
The rowsource is set at run-time, and works fine until an event on the
userform causes an update to the rowsource.

It seems I have to physically make a large change to the scroll bar to

make
the listbox xhnage to reflect the change of it's rowsource.

PWS


"Bob Phillips" wrote in message
...
If that code is executed outwith the form, all you need to do is set
the
rowsource property on the userform initialize event

Listbox1.RowSource = Range("range_name").Address

as it is a string property.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
On a user form I have a listbox that I am populating by having set
it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract
entries
from this named range. I have code which changes the named range when
new
items need to be added/subtracted and this works. However what do I

have
to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the
listbox
to have the changes recognised.

PWS











  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Listbox - Rowsource

How does this work if you have multiple worksheets?

Your code works if you only have one, but when you add the worksheets
reference the resource no longer updates!

Paul Smith


"Bob Phillips" wrote in message
...
Paul,

This worked for me

Private Sub CommandButton1_Click()
ActiveWorkbook.Names.Add Name:="range_name", RefersTo:="=A1:A5"
Me.ListBox1.RowSource = Range("range_name").Address
End Sub

Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = Range("range_name").Address
End Sub


--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
The rowsource is set at run-time, and works fine until an event on the
userform causes an update to the rowsource.

It seems I have to physically make a large change to the scroll bar to

make
the listbox xhnage to reflect the change of it's rowsource.

PWS


"Bob Phillips" wrote in message
...
If that code is executed outwith the form, all you need to do is set
the
rowsource property on the userform initialize event

Listbox1.RowSource = Range("range_name").Address

as it is a string property.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Paul W Smith" wrote in message
...
On a user form I have a listbox that I am populating by having set
it's
rowsource to a range on a named range worksheet.

I have actions which are run from the userform which add or subtract
entries
from this named range. I have code which changes the named range when
new
items need to be added/subtracted and this works. However what do I

have
to
do to have the listbox updated.

It seems to me that I have to physically move the scroll bar of the
listbox
to have the changes recognised.

PWS










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
Listbox rowsource on Userform Wendy Excel Discussion (Misc queries) 6 February 28th 08 05:46 PM
RowSource in ListBox Noah Excel Programming 2 November 17th 05 02:00 PM
RowSource in ListBox aet-inc[_2_] Excel Programming 1 December 3rd 03 12:41 AM
Is refreshing listbox rowsource in listbox click event possible? Jeremy Gollehon[_2_] Excel Programming 4 September 25th 03 06:45 PM
listbox rowsource Christy[_2_] Excel Programming 4 September 20th 03 11:44 PM


All times are GMT +1. The time now is 03:10 AM.

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

About Us

"It's about Microsoft Excel"