#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 58
Default Numbers

Hi all,

I have a list box that has the numbers 1 - 30 in this list. I would like to
have a particular macro run for each individual number.

How do I get a macro to run for a certain number using a listbox, or should
I be using something else?

Thanks

Greg


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,339
Default Numbers

Greg,
Try the following which assumes there are 30 different macros
called macro1 to macro30.

Private Sub ListBox1_Click()
Application.Run "macro" & ListBox1.Value
End Sub

An alternative is to use the Case statement

Select Case Listbox1.value
Case is=1
Call FirstMacro
Case is=2
Call SecondMacro
........
End Select

If the same macro is called for several listbox numbers, these can be
combined in the case statement e.g.

Case is = 3 ,7,15
Call MacroX


HTH

"Greg" wrote:

Hi all,

I have a list box that has the numbers 1 - 30 in this list. I would like to
have a particular macro run for each individual number.

How do I get a macro to run for a certain number using a listbox, or should
I be using something else?

Thanks

Greg



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,298
Default Numbers

a simple method would be to ensure that your sub have similar names eg
MySub01
MySub02
....
MySub31

then you'd just need one line

Call "MySub" & Format$(MyListBox.Value,"00")

Otherwise, the Select Case method is worth trying

SELECT CASE MyListBox.Value
CASE 1,5,8 : Call ThisSUb
CASE 2 : Call ThisOtherSub
CASE 3,12,15: Call YetAnotherSub
CASE ELSE : msgbox "oops !",,"missing sub: " & MyListBox.Value
END SELECT



"Greg" wrote:

Hi all,

I have a list box that has the numbers 1 - 30 in this list. I would like to
have a particular macro run for each individual number.

How do I get a macro to run for a certain number using a listbox, or should
I be using something else?

Thanks

Greg



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,339
Default Numbers

Patrick,
When I try this :

Private Sub ListBox1_Click()
Call "MySub" & Format$(ListBox1.Value,"00")
End Sub

I get an error message "expected identifier" which is why is used
Application.Run in my response. What am I doing wrong?

TIA.
"Patrick Molloy" wrote:

a simple method would be to ensure that your sub have similar names eg
MySub01
MySub02
...
MySub31

then you'd just need one line

Call "MySub" & Format$(MyListBox.Value,"00")

Otherwise, the Select Case method is worth trying

SELECT CASE MyListBox.Value
CASE 1,5,8 : Call ThisSUb
CASE 2 : Call ThisOtherSub
CASE 3,12,15: Call YetAnotherSub
CASE ELSE : msgbox "oops !",,"missing sub: " & MyListBox.Value
END SELECT



"Greg" wrote:

Hi all,

I have a list box that has the numbers 1 - 30 in this list. I would like to
have a particular macro run for each individual number.

How do I get a macro to run for a certain number using a listbox, or should
I be using something else?

Thanks

Greg



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,049
Default Numbers

My error, not yours

Run "MySub" & Format$(ListBox1.Value, "00")

works fine



"Toppers" wrote in message
...
Patrick,
When I try this :

Private Sub ListBox1_Click()
Call "MySub" & Format$(ListBox1.Value,"00")
End Sub

I get an error message "expected identifier" which is why is used
Application.Run in my response. What am I doing wrong?

TIA.
"Patrick Molloy" wrote:

a simple method would be to ensure that your sub have similar names eg
MySub01
MySub02
...
MySub31

then you'd just need one line

Call "MySub" & Format$(MyListBox.Value,"00")

Otherwise, the Select Case method is worth trying

SELECT CASE MyListBox.Value
CASE 1,5,8 : Call ThisSUb
CASE 2 : Call ThisOtherSub
CASE 3,12,15: Call YetAnotherSub
CASE ELSE : msgbox "oops !",,"missing sub: " & MyListBox.Value
END SELECT



"Greg" wrote:

Hi all,

I have a list box that has the numbers 1 - 30 in this list. I would
like to
have a particular macro run for each individual number.

How do I get a macro to run for a certain number using a listbox, or
should
I be using something else?

Thanks

Greg







  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 58
Default Numbers

Thanks sorry for the late response. You reply never showed up at all just
the one stating the error. I will try it.

Thanks Greg


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
Excel change a group of positive numbers to negitive numbers Clare Jones Excel Discussion (Misc queries) 3 July 2nd 09 04:25 PM
Excel, change column of negative numbers to positive numbers? Nita New Users to Excel 3 November 27th 07 04:54 AM
Decimal Numbers typed into Excel 2003 read as whole numbers john mcmichael Excel Discussion (Misc queries) 1 May 10th 07 08:18 PM
Help! How do you get excel to find the x(changes daily, marked in a cell from another formula) highest numbers in a group of numbers and sum them up? C-Man23 Excel Worksheet Functions 3 January 19th 06 09:52 AM
Help! How do you get excel to find the x(changes daily, marked in a cell from another formula) highest numbers in a group of numbers and sum them up? C-Man23 Excel Worksheet Functions 1 January 9th 06 01:23 PM


All times are GMT +1. The time now is 04:35 PM.

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

About Us

"It's about Microsoft Excel"