Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 58
Default Populate a list box with all active workbooks except the current one.

Hi,

I'm not sure how to go about this one...

I want a listbox control in a userform launched from
spreadsheetone.xls to display the names of all the other
spreadsheets. i.e. the user can select any workbook in the open
workbooks collection, but spreadsheetone.xls won't be in that list
(because the form is part of an exporting routine to copy charts and
tables from spreadsheetone.xls to a new worksheet in whichever open
workbook the user selects).

How do I put the names of all open workbooks into a listbox?

Travis
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,494
Default Populate a list box with all active workbooks except the current one.

this is for listbox1 on a userform:

Private Sub UserForm_Activate()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name < ActiveSheet.Name Then
Me.ListBox1.AddItem ws.Name
End If
Next
End Sub

--


Gary

"travis" wrote in message
...
Hi,

I'm not sure how to go about this one...

I want a listbox control in a userform launched from
spreadsheetone.xls to display the names of all the other
spreadsheets. i.e. the user can select any workbook in the open
workbooks collection, but spreadsheetone.xls won't be in that list
(because the form is part of an exporting routine to copy charts and
tables from spreadsheetone.xls to a new worksheet in whichever open
workbook the user selects).

How do I put the names of all open workbooks into a listbox?

Travis



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default Populate a list box with all active workbooks except the current o

How about something like this. When the userform is activated it populates
the list box...

Private Sub UserForm_Activate()
Dim wbk As Workbook

ListBox1.Clear 'Change the list box name as necessary
For Each wbk In Workbooks
If wbk.Name < ThisWorkbook.Name Then _
ListBox1.AddItem wbk.Name
Next wbk
End Sub
--
HTH...

Jim Thomlinson


"travis" wrote:

Hi,

I'm not sure how to go about this one...

I want a listbox control in a userform launched from
spreadsheetone.xls to display the names of all the other
spreadsheets. i.e. the user can select any workbook in the open
workbooks collection, but spreadsheetone.xls won't be in that list
(because the form is part of an exporting routine to copy charts and
tables from spreadsheetone.xls to a new worksheet in whichever open
workbook the user selects).

How do I put the names of all open workbooks into a listbox?

Travis

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default Populate a list box with all active workbooks except the curre

I was under the impression that Travis wanted the workbooks and not the
worksheets...
--
HTH...

Jim Thomlinson


"Gary Keramidas" wrote:

this is for listbox1 on a userform:

Private Sub UserForm_Activate()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name < ActiveSheet.Name Then
Me.ListBox1.AddItem ws.Name
End If
Next
End Sub

--


Gary

"travis" wrote in message
...
Hi,

I'm not sure how to go about this one...

I want a listbox control in a userform launched from
spreadsheetone.xls to display the names of all the other
spreadsheets. i.e. the user can select any workbook in the open
workbooks collection, but spreadsheetone.xls won't be in that list
(because the form is part of an exporting routine to copy charts and
tables from spreadsheetone.xls to a new worksheet in whichever open
workbook the user selects).

How do I put the names of all open workbooks into a listbox?

Travis




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,494
Default Populate a list box with all active workbooks except the curre

you're probably right, my mistake.

--


Gary

"Jim Thomlinson" wrote in message
...
I was under the impression that Travis wanted the workbooks and not the
worksheets...
--
HTH...

Jim Thomlinson


"Gary Keramidas" wrote:

this is for listbox1 on a userform:

Private Sub UserForm_Activate()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name < ActiveSheet.Name Then
Me.ListBox1.AddItem ws.Name
End If
Next
End Sub

--


Gary

"travis" wrote in message
...
Hi,

I'm not sure how to go about this one...

I want a listbox control in a userform launched from
spreadsheetone.xls to display the names of all the other
spreadsheets. i.e. the user can select any workbook in the open
workbooks collection, but spreadsheetone.xls won't be in that list
(because the form is part of an exporting routine to copy charts and
tables from spreadsheetone.xls to a new worksheet in whichever open
workbook the user selects).

How do I put the names of all open workbooks into a listbox?

Travis








  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 58
Default Populate a list box with all active workbooks except the currentone.

Thanks for your answers Jim and Gary. Just what I was needing.

Travis
  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 58
Default Populate a list box with all active workbooks except the currentone.

On Oct 3, 4:09*am, "Gary Keramidas" <GKeramidasAtMsn.com wrote:
this is for listbox1 on a userform:

Private Sub UserForm_Activate()
* * * Dim ws As Worksheet
* * * For Each ws In ThisWorkbook.Worksheets
* * * * * * If ws.Name < ActiveSheet.Name Then
* * * * * * * * * Me.ListBox1.AddItem ws.Name
* * * * * * End If
* * * Next
End Sub

--

Gary


Gary, your contribution was useful to me because shortly after needing
to populate a listbox with all the open workbooks I needed to populate
a listbox with all the sheets in a specified workbook.

But, how would I modify the above code to get the worksheets from a
different workbook other than ThisWorkbook?

I have a public variable called "projectionbook" which contains the
name of a newly initiated workbook which I intend to write to. It
contains a value like "book8".

I got the result I wanted by using the following code:

Windows(projectionbook).Activate
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Me.lstSheetsInProjection.AddItem ws.Name
Next

But why doesn't something like the following work? How should I use
the projectionbook variable in a more direct way instead of activating
it then calling it as the activeworkbook?

Dim ws As Worksheet
For Each ws In projectionbook.Worksheets
Me.lstSheetsInProjection.AddItem ws.Name
Next

Travis
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 364
Default Populate a list box with all active workbooks except the current one.

it depends on how you declare the variable projectionbook:

as a string:

Private Sub UserForm_Activate2()
Dim ws As Worksheet
Dim projectionbook As String
projectionbook = Workbooks("yourworkbook.xls").Name 'change the name

For Each ws In Workbooks(projectionbook).Worksheets
Me.lstSheetsInProjection.AddItem ws.Name
Next
End Sub

as a workbook:

Private Sub UserForm_Activate()

Dim ws As Worksheet
Dim projectionbook As Workbook
Set projectionbook = Workbooks("yourworkbook.xls") 'change the name

For Each ws In projectionbook.Worksheets
Me.lstSheetsInProjection.AddItem ws.Name
Next
End Sub

--

Gary
Excel 2003


"travis" wrote in message
...
On Oct 3, 4:09 am, "Gary Keramidas" <GKeramidasAtMsn.com wrote:
this is for listbox1 on a userform:

Private Sub UserForm_Activate()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name < ActiveSheet.Name Then
Me.ListBox1.AddItem ws.Name
End If
Next
End Sub

--

Gary


Gary, your contribution was useful to me because shortly after needing
to populate a listbox with all the open workbooks I needed to populate
a listbox with all the sheets in a specified workbook.

But, how would I modify the above code to get the worksheets from a
different workbook other than ThisWorkbook?

I have a public variable called "projectionbook" which contains the
name of a newly initiated workbook which I intend to write to. It
contains a value like "book8".

I got the result I wanted by using the following code:

Windows(projectionbook).Activate
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Me.lstSheetsInProjection.AddItem ws.Name
Next

But why doesn't something like the following work? How should I use
the projectionbook variable in a more direct way instead of activating
it then calling it as the activeworkbook?

Dim ws As Worksheet
For Each ws In projectionbook.Worksheets
Me.lstSheetsInProjection.AddItem ws.Name
Next

Travis

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
Using a current spreadsheet to populate a new one shadesofsisyphus Excel Discussion (Misc queries) 4 August 9th 06 08:04 PM
Populate current active cell - Help Please!! Larry Excel Worksheet Functions 0 July 19th 06 10:19 PM
use the current row in a list to populate a report David Murto Excel Worksheet Functions 1 April 13th 06 06:30 PM
Dialog Box List of Current Open Workbooks Frank & Pam Hayes Excel Programming 2 January 25th 04 02:28 PM
list Workbooks in Current Folder jC! Excel Programming 4 December 27th 03 01:12 AM


All times are GMT +1. The time now is 08:00 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"