VBA - Adicionar o ComboBox e seu código.

Março 2017


Código relativamente simples e que não precisa de explicação complementar.
Colar esses dois "sub" em um módulo geral (Módulo 1, por exemplo).

Option Explicit  

Sub CréerCombo(Ligar As Range, Optional Sh As Worksheet, Optional Emplacement As Range)  
Dim Obj As Object  
Dim code As String  
Dim Ix As Integer, Num As String  
    If Sh Is Nothing Then  
        Set Sh = ActiveSheet  
    End If  
    Sh.Select  
    Ix = ActiveSheet.OLEObjects.Count + 1  
    Num = "0" & Ix: Num = Right(Num, 2) 'Pour jusque 99 boutons  
    If Emplacement Is Nothing Then  
        'localização padrão  
        Set Emplacement = ActiveCell  
    End If  
'criar o botão  
    With Emplacement  
    Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combobox.1", _  
    Link:=False, DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.ColumnWidth * 5.65, Height:=.RowHeight)  
    Obj.Name = "ComboB_" & Num  
    End With  

'propriedades do combo  
    With ActiveSheet.OLEObjects(Ix)  
        .Placement = xlMoveAndSize  
        .PrintObject = True  
        .ListFillRange = Lier.Address  
    End With  

'O texto do macro  
    code = vbCrLf & "Private Sub ComboB_" & Num & "_Change()" & vbCrLf  
    code = code & "    MsgBox ""Vous avez sélectionner la ligne "" & ComboB_" & Num & ".Text , ,""ComboB_" & Num & """" & vbCrLf  
    code = code & "End Sub"  

'Adicione o macro no final do módulo da planilha  
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule  
        .insertlines .CountOfLines + 1, code  
    End With  
End Sub  


Baixe m exemplo no Excel 2007 ou >
Adicionar Combo et código.xlsm (em francês)


Tradução feita por Lucia Maurity y Nouira

Veja também

Artigo original publicado por . Tradução feita por pintuda.
Este documento, intitulado 'VBA - Adicionar o ComboBox e seu código.', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.