Notifications
Clear all

Combobox vba excel

6 Posts
2 Usuários
0 Reactions
2,950 Visualizações
(@souzadenilson)
Posts: 96
Estimable Member
Topic starter
 

Como proceder para que os consiga selecionar os dados de uma planilha no combobox.
Os dados estão na guia fornecedor e o combobox está no userform que será salvo em outra planilha

 
Postado : 05/02/2014 2:23 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

souzadenilson,

Boa Tarde!

Geralmente, um controle ComboBox em um formulário, por padrão, carrega apenas uma coluna de dados da planilha e serve para que o usuário final selecione um determinado item desse ComboBox para que o formulário tenha então alguma ação, tipo, exibir o restante dos dados daquele item selecionado.

Por exemplo, supondo que você deseja selecionar o nome dos cliente da sua planilha chamada Plan1, que estão na coluna A, da linha 1 até a linha 100, nesse ComboBox. Você carregaria o ComboBox no evento Initialize do Userfor dessa forma:

Private Sub UserForm_Initialize()
    Dim i As Long
    For i = 1 To 100
        ComboBox1.AddItem Range("A" & i).Value
    Next
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/02/2014 3:02 pm
(@souzadenilson)
Posts: 96
Estimable Member
Topic starter
 

Valeu pela dica. Porem esqueci que se determinar qual a ultima linha, caso exceda mais de 100 eles não irão aparecer

 
Postado : 05/02/2014 3:11 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Se sua planilha tiver um número fixo de linhas, você altera de modo a refletir a última linha. Se o número de linhas for variável, você armazena, no início do código, a última linha com dados em uma variável e utiliza a variável no laço FOR, desse modo:

    Private Sub UserForm_Initialize()
        Dim i As Long
        Dim UltimaLinha as Long
        UltimaLinha  = Sheets("Plan1").Cells(cells.Rows.Count,1).End(xlUp).Row
        For i = 1 To UltimaLinha 
            ComboBox1.AddItem Range("A" & i).Value
        Next
    End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/02/2014 3:24 pm
(@souzadenilson)
Posts: 96
Estimable Member
Topic starter
 

Quando seleciono um nome ele permanece na linha que foi salvo e também copia na linha a2

 
Postado : 05/02/2014 3:32 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

souzadenilson,

Boa Noite!

Não estou entendendo, afinal, qual é a sua real necessidade. No seu primeiro post você disse:

Como proceder para que os consiga selecionar os dados de uma planilha no combobox.

. Daí, entendi que você estava querendo saber como carregar, no combo, os dados armazenados na planilha. Lhe mostrei como fazer isso com uma coluna. Não era isso??? Agora você já está falando "Quando seleciono um nome ele permanece na linha que foi salvo e também copia na linha a2" e eu já não entendi mais nada, pois em nenhum momento eu coloquei código que permita exibir dados quando fosse selecionado alguma coisa no combo! Afinal, qual é a sua demanda???

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/02/2014 7:50 pm