Página 1 de 1

COMO ATUALIZAR COMBOBOX??

Enviado: 24 Set 2021 às 14:41
por Abel
Boa tarde, estou com um problema, tenho uma planilha onde uso combo box (ActiveX), linkado á uma tabela que sempre recebe novos dados. Mas, quando é inserido novos dados na tabela, não aparece na lista do combo box, preciso reiniciar a planilha para esses novos dados aparecerem.

Como posso fazer para atualizar automaticamente, igual como a lista de validação de dados funciona.

Re: COMO ATUALIZAR COMBOBOX??

Enviado: 28 Set 2021 às 14:06
por JCabral
Abel

Coloque aqui uma planilha com exemplo, fica mais fácil para os Gurus te ajudarem!

Re: COMO ATUALIZAR COMBOBOX??

Enviado: 28 Set 2021 às 15:05
por Abel
não tem segredo, e não tem como eu demonstrar isso em um planilha, é bem simples, vc msm pode ver ahi, ao colocar um combo box, ele não atualiza com novos dados@JCabral,

Re: COMO ATUALIZAR COMBOBOX??

Enviado: 28 Set 2021 às 20:34
por Basole
@Abel se está utilizando o evento change do Combobox, experimente chamar este evento no worksheet_Change, assim ao alterar algum dado na planilha(aba), automaticamente os dados do combobox, serão atualizados
Exemplo:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
    Call ComboBox1_Change '     (* Ou o nome da sub que carrega os dados do comboxbox)
End Sub

Re: COMO ATUALIZAR COMBOBOX??

Enviado: 30 Set 2021 às 08:16
por Abel
@Basole, sinceramente não entendi, sou um pouco novo com VBA

Re: COMO ATUALIZAR COMBOBOX??

Enviado: 30 Set 2021 às 13:25
por Basole
Vamos supor que voce utilie esta rotina para carregar os dados no seu combobox
Veja o exemplo:
Código: Selecionar todos
Sub Add_Dados_Combobox()
Dim mTabela  As ListObject
Dim mArray   As Variant

Set mTabela = Worksheets("Planilha1").ListObjects("Tabela1")

   mArray = mTabela.DataBodyRange

        With ComboBox1
        .Clear
        .List = mArray
        End With

End Sub

E quando houver alteração nos dados, este evento Change, ativa a rotina que carrega/ atualiza os dados, no combobox
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Call Add_Dados_Combobox
End Sub