Thema Datum  Von Nutzer Rating
Antwort
10.03.2010 09:14:37 Rüdiger
NotSolved
12.03.2010 09:58:59 Holger
NotSolved
Rot Aw:Aw:Umgang mit vielen Schaltflächen
13.03.2010 09:17:07 jhs
NotSolved

Ansicht des Beitrags:
Von:
jhs
Datum:
13.03.2010 09:17:07
Views:
824
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Umgang mit vielen Schaltflächen
Hallo,

mit Klassenprogrammierung ist das IMHO am besten lösbar. Füge deinem Projekt ein Klassenmodul hinzu und ersetze im Eigenschaftsfenster den Defaultnamen Klasse1 durch clsBtn. Füge in diesem Klassenmodul folgenden Code ein:

Public WithEvents objBtn As MSForms.CommandButton

Private Sub objBtn_Click()
MsgBox objBtn.Name & " wurde angeklickt"
End Sub

Im Codebereich der UserForm fügst du folgendes ein:

Dim objB() As New clsBtn

Private Sub UserForm_Activate()
Dim i As Integer
ReDim objB(0)
For i = 0 To Me.Controls.Count - 1
If TypeName(Me.Controls(i)) = "CommandButton" Then
ReDim Preserve objB(UBound(objB) + 1)
Set objB(UBound(objB)).objBtn = Me.Controls(i)
End If
Next i
End Sub

Voila, schon meldet dir eine einzige Prozedur (die Click-Prozedur im Klassenmodul), welcher Button angeklickt wurde, wobei die MsgBox natürlich nur ein Beispiel ist. Außerdem kannst du imKlassenmodul auch alle anderen Eigenschaften und Ereignisse eines CommandButtons aufrufen.

Gruß

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.03.2010 09:14:37 Rüdiger
NotSolved
12.03.2010 09:58:59 Holger
NotSolved
Rot Aw:Aw:Umgang mit vielen Schaltflächen
13.03.2010 09:17:07 jhs
NotSolved