ComboBoxChange Ereigniss
01.09.2005 13:55:25
Moe
mein Problem ist, dass ich in einer Steuerelementleiste 2 ComboBoxen habe aber nur ein Change-Ereignisse für beide Boxen einrichten kann.Also müsste ich wisse wie ich beide Boxen seperat ansprechen kann.Ich sende den Code den ich schon habe mal mit und hoffe es gibt ein paar Experten die eine Antwort wissen.Danke schon im Vorraus.
Moe
Im Modul:
'Erstes ComboBoxfeld erstellen
ThisWorkbook.Activate
Worksheets(1).Activate
Set newBar = Application.CommandBars.Add(Name:="TestVergleicherCommandBar")
Dim Combo1 As Office.CommandBarComboBox
Set Combo1 = newBar.Controls.Add(Type:=msoControlComboBox, ID:=1)
With Combo1
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 6 To iRowL
If Not IsEmpty(Cells(iRow, 1)) Then
.AddItem Cells(iRow, 1).Value
End If
Next iRow
.DropDownWidth = 200
.ListHeaderCount = 0
End With
ctlComboBoxHandler.SyncBox Combo1
'2
ThisWorkbook.Activate
Worksheets(1).Activate
Dim combo2 As Office.CommandBarComboBox
Set combo2 = newBar.Controls.Add(Type:=msoControlComboBox, ID:=1)
With combo2
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 6 To iRowL
If Not IsEmpty(Cells(iRow, 1)) Then
.AddItem Cells(iRow, 1).Value
End If
Next iRow
.DropDownWidth = 200
.ListHeaderCount = 0
End With
CBH.SyncBox4 combo2
Im Classen Modul:
Private WithEvents ComboBoxEvent As Office.CommandBarComboBox
Public Sub SyncBox(box As Office.CommandBarComboBox)
Set ComboBoxEvent = box
If Not box Is Nothing Then
MsgBox "Synced1 " & box.Caption & " ComboBox events."
End If
End Sub
Public Sub SyncBox4(box As Office.CommandBarComboBox)
Set ComboBoxEvent2 = box
If Not box Is Nothing Then
MsgBox "Synced2 " & box.Caption & " ComboBox events."
End If
End Sub
Private Sub Class_Terminate()
Set ComboBoxEvent = Nothing
End Sub
Private Sub ComboBoxEvent_Change(ByVal Ctrl As Office.CommandBarComboBox)
MsgBox ("Combo1Change")
End Sub
Private Sub ComboBoxEvent2_Change(ByVal Ctrl As Office.CommandBarComboBox)
MsgBox ("Combo2Change")
End Sub