none
Função Listview carregar em celular do Excel - Lista Suspensa RRS feed

  • Pergunta

  • Boa tarde estou desenvolvendo uma aplicação no excel com VBA e estou querendo saber como faço para fazer uma função que carregue uma lista.

    Exemplo do que quero

    Função CarregaLista(){
    
    Lista<Informacao> info
    
    Lista.Add = "ATIVO";
    Lista.Add = "INATIVO";
    Lista.Add = "OPÇÃO 1";
    Lista.Add = "OPÇÃO 2";
    Lista.Add = "...";
    Lista.Add = "OPÇÃO N";
    
    retornar Lista;
    
    }

    Quero que esta Lista seja carregada em uma célula do Excel.

    Fico no aguardo.

    Obrigado

    segunda-feira, 31 de agosto de 2015 16:41

Respostas

  • Seguinte,

    Para fazer a lista suspensa,

    1) Insira os dados na coluna B.

    Range("C1").value = "OPÇÃO 1"
    Range("C2").value = "OPÇÃO 2"
    Range("C3").value = "OPÇÃO 3"
    Range("C4").value = "OPÇÃO 4"
    Range("C5").value = "OPÇÃO 5"

    2) Selecione a célula A1, clique na aba Dados, depois validação de dados, Selecione a opção Permitir Lista e no campo Fonte você seleciona a coluna C que é o intervalo que você preencheu.

    Se a informação lhe ajudou, por favor marque como útil ou como resposta

    Segue a referência Microsoft sobre o assunto:

    https://support.office.com/pt-br/article/Criar-uma-lista-suspensa-a-partir-de-um-intervalo-de-c%C3%A9lulas-fdde2fb6-e257-4c62-b794-1427762428c6?ui=pt-BR&rs=pt-BR&ad=BR

    Abraço e boa sorte


    terça-feira, 1 de setembro de 2015 12:26

Todas as Respostas

  • O Excel tem uma funcionalidade que faz isso sem a necessidade de utilizar VBA.

    Na Aba Dados, Validação de Dados, Permitir Lista.

    Daí você preencher a fonte como quiser. Você pode popular a fonte via VBA utilizando o objeto range.

    Caso queira aplicar essa validação mesmo via VBA, eu sugiro consultar a documentação no MSDN pois deve ter esse objeto disponível para manipular

    segunda-feira, 31 de agosto de 2015 17:18
  • André Santos muito obrigado por responder valeu mesmo, gostaria que você me auxiliasse nesta pesquisa pois que mesmo popular via VBA para carater de estudo mesmo e alem do mais ter mais controle na programação.

    Observando que Eu gostaria de adicionar os valores via código sem a necessidade da utilização de uma coluna do Excel, quero ter o controle sobre as opções.

    Você poderia postar link ?

    Muito obrigado amigo.

    Agradeço desde já.



    • Editado Cyberlacs segunda-feira, 31 de agosto de 2015 18:03
    segunda-feira, 31 de agosto de 2015 17:59
  • Para acessar o módulo de programação do office, aperte ALT + F11

    Em seguida, clique em Inserir -> Módulo...

    Desenvolvi um código de exemplo pra você que preenche a célula A1.

    É só copiar e colar no módulo

    Sub preencherValor()
    
    
    'Troque o nomedasuaplan pelo nome da sua aba, ex: Plan1
    Sheets("nomedasuaplan").Select
    
    
    'Estamos preenchendo a célula A1, basta voce alterar pela que quiser
    Range("A1").value = "TEXTO INSERIDO NA CÉLULA"
    
    
    'exibimos uma mensagem na tela
    MsgBox "valor inserido !", vbInformation + vbOKOnly
    
    End Sub

    Bem simples, não ?

    Para estudo sugiro o site www.ambienteoffice.com.br

    Outro recurso interessante para aprendizado é o gravador de macros do Excel

    http://dicasdeexcel.com.br/aprendendo-a-utilizar-o-gravador-de-macros/

    • Sugerido como Resposta André Santo segunda-feira, 31 de agosto de 2015 18:08
    segunda-feira, 31 de agosto de 2015 18:08
  • Para acessar o módulo de programação do office, aperte ALT + F11

    Em seguida, clique em Inserir -> Módulo...

    Desenvolvi um código de exemplo pra você que preenche a célula A1.

    É só copiar e colar no módulo

    Sub preencherValor()
    
    
    'Troque o nomedasuaplan pelo nome da sua aba, ex: Plan1
    Sheets("nomedasuaplan").Select
    
    
    'Estamos preenchendo a célula A1, basta voce alterar pela que quiser
    Range("A1").value = "TEXTO INSERIDO NA CÉLULA"
    
    
    'exibimos uma mensagem na tela
    MsgBox "valor inserido !", vbInformation + vbOKOnly
    
    End Sub

    Bem simples, não ?

    Para estudo sugiro o site www.ambienteoffice.com.br

    Outro recurso interessante para aprendizado é o gravador de macros do Excel

    http://dicasdeexcel.com.br/aprendendo-a-utilizar-o-gravador-de-macros/

    Bom Dia Andre Santos obrigado pela ajuda, quando eu disse que é para estudo é verdade Mas estarei usando muito esta função aqui.

    Utilizei seu código e funcionou muito obrigado.

    Mas gostaria que este código preenchesse uma célula como se fosse uma lista suspensa, eu tentei  colocar mais uma linha mas a célula é preenchida com o ultimo valor.

    Range("A1").value = "OPÇÃO 1"
    Range("A1").value = "OPÇÃO 2"

    Como fazer com que a célula seja preenchida com N valores tornando a uma Lista Suspensa ?

    Fico no aguardo.

    E desde já agradeço.

    terça-feira, 1 de setembro de 2015 11:35
  • Seguinte,

    Para fazer a lista suspensa,

    1) Insira os dados na coluna B.

    Range("C1").value = "OPÇÃO 1"
    Range("C2").value = "OPÇÃO 2"
    Range("C3").value = "OPÇÃO 3"
    Range("C4").value = "OPÇÃO 4"
    Range("C5").value = "OPÇÃO 5"

    2) Selecione a célula A1, clique na aba Dados, depois validação de dados, Selecione a opção Permitir Lista e no campo Fonte você seleciona a coluna C que é o intervalo que você preencheu.

    Se a informação lhe ajudou, por favor marque como útil ou como resposta

    Segue a referência Microsoft sobre o assunto:

    https://support.office.com/pt-br/article/Criar-uma-lista-suspensa-a-partir-de-um-intervalo-de-c%C3%A9lulas-fdde2fb6-e257-4c62-b794-1427762428c6?ui=pt-BR&rs=pt-BR&ad=BR

    Abraço e boa sorte


    terça-feira, 1 de setembro de 2015 12:26
  • Entendi André Santos kkkkkkkkk

    Eu pensei que através do código dando um while iria adicionando em uma listview a ai a celula iria capturar estas informações e ai a lista suspensa seria gerada por esta listview.

    Mas do jeito que você esta informando é preencher a coluna B com valores e na célula A1 recebe os valores conforme sua citação, entendi então a sua explicação.

    André Santos para terminar, não tem jeito de fazer um Array List e este Array List preenche a Célula tipo o que acontece com um Combo Box ?

    Se não tiver como ou se tiver estarei marcando sua resposta ok

    Obrigado

    terça-feira, 1 de setembro de 2015 13:01
  • Desta maneira não tenho conhecimento.

    Até onde eu sei não tem como fugir dessa fonte preenchendo as células.

    A não ser que você adicione um controle do tipo combobox, disponível na aba desenvolvedor. Mas ele não fica dentro da célula, como esse da validação de dados.

    Com o controle vc pode preenhcer usando while com o método additem


    • Editado André Santo terça-feira, 1 de setembro de 2015 13:37
    terça-feira, 1 de setembro de 2015 13:37
  • Andre Santo valeu por todas as informações, já marquei sua resposta como a melhor :)

    Obrigado

    terça-feira, 1 de setembro de 2015 13:48