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)
<(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> yes - the buttons are in the userform
>
> On Oct 30, 4:32 pm, Ken Puls <ken.p...@nospampleasegmail.com> 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
> >
> > shumwaymeis...@gmail.com 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??
>