VBA - Додавання ComboBox та відповідного коду

Цей код досить простий і не вимагає подальшого пояснення.

Вставте ці два підпункти в загальний модуль (наприклад, модуль1).

 Варіант Явний Sub CréerCombo (Lier As Range, необов'язковий Sh як робочий лист, необов'язкове розміщення як діапазон) Dim Obj Як об'єкт Dim Dim Як String Розмір Ix As Integer, Num As String Якщо Sh немає значення, то Sh = ActiveSheet End Якщо Sh.Select Ix = ActiveSheet.OLEObjects.Count + 1 Num = "0" & ​​Ix: Num = Right (Num, 2) 'Висипати 99 біт, якщо розміщення не є нічим' emplacement par défaut Встановити Emplacement = ActiveCell End Якщо 'crée le bouton With Emplacement Встановити Obj = ActiveSheet.OLEObjects.Add (ClassType: = "Forms.Combobox.1", _ Link: = False, DisplayAsIcon: = False, Left: =. Left, Top: =. Top, Width: =. ColumnWidth * 5.65, Висота: =. RowHeight) Obj.Name = "ComboB_" & Num End З 'комбіновані комбінації з ActiveSheet.OLEO об'єктами (Ix) .Placement = xlMoveAndSize .PrintObject = True. код макросу = vbCrLf & "Приватний підпрограма ComboB_" & Num & "_Change ()" & код vbCrLf = код & "MsgBox" "Vous avez sélectionner la ligne" "& ComboB_" & Num & ".Text, " "ComboB_" & Num & "" "" & vbCrLf code = code & "End Sub" "Встановити макрос з модулем з ActiveWorkbook.VBProject.VBComponents (ActiveSheet.Name) .CodeModule .insertlines .CountOfLines + 1, код End With End Sub 

Завантажити приклад для Excel 2007:

Завантажити проект:

  • Сервер 1: Додайте Combo і code.xlsm
  • Приватний сервер: додайте Combo і code.xlsm

Попередня Стаття Наступна Стаття

Кращі Поради