tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
658
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Outsider77 Outsider77 ist offline Mitglied Silber
    Registriert seit
    Sep 2008
    Beiträge
    96
    Hallo zusammen!
    Da in einem anderen Thread auf meine Frage nicht geantwortet wurde,
    stelle ich jetzt hier eine ähnliche Frage:
    Ich habe sehr viele ComboBoxen auf einer UserForm plaziert.
    Für ComboBox 1-20 soll immer der selbe Code ausgeführt werden,
    genauso für ComboBox 21-40 usw.
    Gibt es eine Möglichkeit in VBA, für die ComboBox 1-20 das gemeinsame
    Click-Event abzufangen, genauso für die ComboBox 21-40?
    Ich habe irgendwo was gelesen, dass man das mittels Klassen-Modul
    lösen könnte.
    Wie in etwa müßte das dann aussehen?
    Bin für jede Hilfe dankbar!
    Gruß
     

  2. #2
    luec Tutorials.de Gastzugang
    Schreib einfach in dem Modul ein Private sub und ruf das bei jedem Click event auf.

    Ist zwar etwas spät, hoffe du kannst damit etwas anfangen.
     

  3. #3
    Outsider77 Outsider77 ist offline Mitglied Silber
    Registriert seit
    Sep 2008
    Beiträge
    96
    Hallo luec,
    besser spät als nie...deswegen danke!
    Hab es allerdings mittlerweile selber gelöst mittels den von mir angesprochenen Klassen.

    Hier ein kurzer Ausschnitt:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    Private Sub UserForm_Initialize()
    Dim CoTb As Control, CoCb As Control, CoComb As Control, CoLab As Control, CoButt As Control
    Dim InI As Integer
     
    For Each CoComb In Me.Controls
        If TypeName(CoComb) = "ComboBox" Then
            ReDim Preserve cCombo(0 To InI)
            Set cCombo(InI).ComboBox = CoComb
            InI = InI + 1
        End If
    Next CoComb
    End Sub

    In's Modul mdl_ComboBox
    Code :
    1
    2
    3
    
    Option Explicit
     
    Public cCombo() As New clsCombo

    In's Klassenmodul clsCombo
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    Option Explicit
     
    Public WithEvents ComboBox As MSForms.ComboBox
     
    Private Sub ComboBox_Click()
    'mein Code'
    End Sub

    Damit kann ich dann also jeden Klick aller ComboBoxen auf der Form abfangen.
    Funktioniert dann mit anderen Aufrufen genauso, z.B.
    Code :
    1
    2
    3
    
    Private Sub ComboBox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    'mein Code'
    End Sub

    Gruß Outi
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 05.01.11, 17:40
  2. mousup-event erzeugt vorher paint-event.Wie abstellen?
    Von Cheesygecko im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 09.01.09, 14:04
  3. Comboboxen-Event bei Change
    Von DrMueller im Forum Visual Basic 6.0
    Antworten: 11
    Letzter Beitrag: 07.08.08, 16:42
  4. Beim Klick auf Movie-Clip Event ausführen
    Von 64fgh645gfh im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 04.10.07, 13:23
  5. Event bei link-klick
    Von Romeo-G im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.08.04, 00:07