Const strComboBoxName = "CBDM"
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim WS As Worksheet
Dim Obj As OLEObject
Dim MyCombo As ComboBox
Dim Found As Boolean
[COLOR="SeaGreen"]'Init[/COLOR]
Set WS = Sh
Found = False
[COLOR="SeaGreen"]'Kiem tra cac doi tuong trong sheet
'Neu thuoc loai Forms.ComboBox.1 (ComboBox)
'Va co ten la strComboBoxName - "CBDM"
'Neu thay thi nhan doi tuong cho MyCombo
[/COLOR]For Each Obj In WS.OLEObjects
If Obj.progID = "Forms.ComboBox.1" Then
If Obj.Name = strComboBoxName Then
Set [COLOR="Red"]MyCombo[/COLOR] = Obj.[COLOR="Red"]Object[/COLOR] [COLOR="SeaGreen"]'- Type cast object "ComboBox"[/COLOR]
Found = True
End If
End If
Next
If Not Found Then Exit Sub [COLOR="SeaGreen"]' Thoát nếu không tìm thấy
'Thuc hien cac lenh voi ComboBox tim duoc[/COLOR]
MsgBox "Da tim thay ComboBox co ten """ & MyCombo.Name & """" _
, vbInformation, _
"On sheet """ & WS.Name & """"
[COLOR="SeaGreen"]'Hay su dung cac property của ComboBox bình thường (mặc dù không nhìn thấy nó trong MyCombo)
[/COLOR]
MyCombo.ListFillRange = "A1:A10" [COLOR="SeaGreen"]'Nhan vung du lieu, có thể gán tên của vùng[/COLOR]
MyCombo.Activate [COLOR="SeaGreen"]' Kick hoat - Nhan con tro[/COLOR]
[COLOR="SeaGreen"]'MyCombo.Width
'MyCombo.Height
'MyCombo.LinkedCell
'MyCombo.Left
'MyCombo.Top
'MyCombo.Activate
'Có thể gọi một ComboBox đích danh để kiểm tra các property có trong nó,
'nếu có thì có thể sử dụng cho MyCombo
'Ví dụ
'Sheet1.ComboBox2
[/COLOR]End Sub