Create a contyrol array for the button.
Insert a cass module and name it clsUserFormEvents
Option Explicit
Public WithEvents mButtonGroup As msforms.CommandButton
Private Sub mButtonGroup_Click()
Select Case mButtonGroup.Caption
Case "CommandButton1" : Userform1.Caption = "Title1"
Case "CommandButton2" : Userform1.Caption = "Title2"
etc.
End Sub
In the userform add
Option Explicit
Dim mcolEvents As Collection
Private Sub UserForm_Initialize()
Dim cBtnEvents As clsUserFormEvents
Dim ctl As msforms.Control
Set mcolEvents = New Collection
For Each ctl In Me.Controls
If TypeName(ctl) = "CommandButton" Then
Set cBtnEvents = New clsUserFormEvents
Set cBtnEvents.mButtonGroup = ctl
mcolEvents.Add cBtnEvents
End If
Next
End Sub
Then
--
HTH
Bob Phillips
(replace somewhere in email address with gmail if mailing direct)
wrote in message
ps.com...
yes - the buttons are in the userform
On Oct 30, 4:32 pm, Ken Puls wrote:
Hi there,
These are buttons inside the userform? The long way to do it would be
calling a function to evaluate what button was clicked. It's a simple
one liner to change the caption in your Button_Click event:
Me.Caption = "MyCustomTitle"
HTH,
Ken Puls, CMA - Microsoft MVP (Excel)www.excelguru.ca
wrote:
I have a series of buttons all using the same Userform. However, I
would like to be able to personalize the title of the userform -
depending on what button is clicked.
The long way to do it, would be to have a short macro for each button,
that would each generate the userform and accordingly change the
caption details.
But I am assuming there should be a shorter way, to enable a large set
of buttons to use the same userform and be able to personalize the
title as required. Perhaps a series of case statements or even
somthing
simpler??