VBA - Adicionando ComboBox e o código relacionado

Este código é relativamente simples e não requer explicações adicionais.

Cole estes dois sub em um módulo geral (por exemplo, Module1).

 Opção Explícita Sub CréerCombo (Lier como Range, Opcional Sh como Planilha, Opcional de Colocação como Range) Dim Obj Objeto Dim code As String Dim Ix As Integer, Num As String Se Sh Não For Nada Então Set Sh = ActiveSheet End Se Sh.Select Ix = ActiveSheet.OLEObjects.Count + 1 Num = "0" & ​​Ix: Num = Direita (Num, 2) 'Pour jusque 99 boutons Se a colocação não é nada então' emplacement par défaut Emplacement conjunto = ActiveCell End If 'crée le bouton Com Emplacement Defina Obj = ActiveSheet.OLEObjects.Add (ClassType: = "Forms.Combobox.1", _Link: = False, DisplayAsIcon: = False, Esquerda: =. Esquerda, Superior: =. Superior, Largura: =. ColumnWidth * 5.65, Altura: =. RowHeight) Obj.Name = "ComboB_" & Num final com 'propriétés du combo com ActiveSheet.OLEObjects (Ix) .Placement = xlMoveAndSize .PrintObject = True .ListFillRange = Lier.Address final com' Le texte de la código macro = vbCrLf & "Private Sub ComboB_" e Num & "_Change ()" & vbCrLf code = código & "MsgBox" "Você selecionou a linha" "& ComboB_" & "& Num." .Text,, "" ComboB_ " & Num & "" "" & vbCrLf code = código & "End Sub" 'Ajudar a macro em fin de módulo feuille Com ActiveWorkbook.VBProject.VBComponents (ActiveSheet.Name) .CodeModule .insertlines .CountOfLines + 1, código End With End Sub 

Baixe um exemplo para o Excel 2007:

Download do projeto:

  • Servidor 1: Adicionar Combo e code.xlsm
  • Servidor Privado: Adicionar Combo e code.xlsm

Artigo Anterior Próximo Artigo

Principais Dicas