Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 102
Default Dynamic Button Names?

Hi,

Say you have 3 buttons, each has its sub, and all 3 subs code are
listed in one module.

I want the button names to be read from 3 different cells. So everytime
a cell content change, the name of its related button name change
automatically.

I have the code for the 3 subs as follows:

Sub UnhideSubsystem1()
Range("System").Select
Selection.EntireRow.Hidden = False
End Sub
------------------------------------------
Sub UnhideSubsystem1()
Range("System").Select
Selection.EntireRow.Hidden = False
End Sub
------------------------------------------
Sub UnhideSubsystem1()
Range("System").Select
Selection.EntireRow.Hidden = False
End Sub
------------------------------------------
Now, the sub code for the button name change is:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then _
Me.Buttons(1).Caption = Range("A1").Value
End Sub

My question:
Can I assign a button to 2 subs at the same time? Or, how can I
incorporate the "Private Sub" into each of the other 3 subs, so I end
up with 3 subs?

Thanks,
Mike

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Dynamic Button Names?

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
Me.Buttons(1).Caption = Range("A1").Value
Me.Buttons(2).Caption = Range("A2").Value
Me.Buttons(3).Caption = Range("A3").Value
End If
End Sub

--
Regards,
Tom Ogilvy


"Mike" wrote in message
oups.com...
Hi,

Say you have 3 buttons, each has its sub, and all 3 subs code are
listed in one module.

I want the button names to be read from 3 different cells. So everytime
a cell content change, the name of its related button name change
automatically.

I have the code for the 3 subs as follows:

Sub UnhideSubsystem1()
Range("System").Select
Selection.EntireRow.Hidden = False
End Sub
------------------------------------------
Sub UnhideSubsystem1()
Range("System").Select
Selection.EntireRow.Hidden = False
End Sub
------------------------------------------
Sub UnhideSubsystem1()
Range("System").Select
Selection.EntireRow.Hidden = False
End Sub
------------------------------------------
Now, the sub code for the button name change is:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then _
Me.Buttons(1).Caption = Range("A1").Value
End Sub

My question:
Can I assign a button to 2 subs at the same time? Or, how can I
incorporate the "Private Sub" into each of the other 3 subs, so I end
up with 3 subs?

Thanks,
Mike



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 102
Default Dynamic Button Names?

Tom,

One thing I don't understand. If I have 5 buttons in one sheet, how
does your code understand which button I am refering to?

Thanks,
Mike

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Dynamic Button Names?



Your original posting doesn't make much sense. You list 3 macros that are
identical. so they could not exist in the same module without getting
errors.

in any event you said:

I want the button names to be read from 3 different cells. So everytime
a cell content change, the name of its related button name change
automatically.


So we are reacting to a change in cell content - not a button being pushed.

the code posted has the definition of the relation between the cell and the
button. I simplified it so it updates the button names on all buttons if
any of the 3 related cells change. So it is a little stupid and does extra
work, but achieves the desired result.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
Me.Buttons(1).Caption = Range("A1").Value
Me.Buttons(2).Caption = Range("A2").Value
Me.Buttons(3).Caption = Range("A3").Value
End If
End Sub

so Button(1) gets the name/caption found in A1
Button(2) gets the name/caption found in A2
Button(3) gets the name/caption found in A3

--
Regards,
Tom Ogilvy


"Mike" wrote in message
oups.com...
Tom,

One thing I don't understand. If I have 5 buttons in one sheet, how
does your code understand which button I am refering to?

Thanks,
Mike



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
Dynamic Worksheet Names HOOS77 Excel Discussion (Misc queries) 3 September 4th 07 10:24 PM
Dynamic Range Names? RayportingMonkey Excel Worksheet Functions 1 August 31st 07 12:14 AM
dynamic XY chart names [email protected] Excel Discussion (Misc queries) 0 February 9th 07 04:10 PM
Dynamic Worksheet Names Łukasz Czech Links and Linking in Excel 1 August 15th 05 09:41 PM
Dynamic Worksheet Names JClub Excel Worksheet Functions 1 January 10th 05 08:55 PM


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