none
CÓDIGO VBA clicar duas vezes em listbox e abrir form para editar od dados RRS feed

  • Pergunta

  • Gostaria de saber se alguém poderia informa código ao clicar em um dado no listbox automaticamente abrir um form com edição de dados.

    Userform tem que abrir com dados que foi clicado no listbox.

    Já tenho form pronto e listbox

    quero só condigo.

    quinta-feira, 21 de fevereiro de 2013 20:07

Respostas

  • Há várias formas de se fazer isso.

    A que mais gosto é criar uma coluna com largura 0, de forma que cada dado inserido possui a informação da linha onde está presente nessa coluna "oculta".

    Você também pode, em tempo de execução, buscar o valor da caixa de listagem (ListBox), o que não recomendo, pois se os registros repetirem, você pode editar a linha errada.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 25 de fevereiro de 2013 23:51
    Moderador
  • Felipe e se ele fizer um Clear na ListBox antes de cada nova busca? Isso provavelmente evitaria a repetição dos registros, ou estou errado?

    Se fizer algo assim :

    Dim r_OM As Long

    Dim TotalLinhas_OM As Long

    ListBox1.Clear

    'Conta o nº de linhas do range.
        TotalLinhas_OM = Range("A1:A91").Count
      Range("A" + CStr(TotalLinhas_OM)).End(xlUp).Select

     'Prenche a listbox com os novos valores .
    For r_OM = 1 To TotalLinhas_OM
        ListBox1.AddItem Cells(r_OM, "A")
      Next r_OM

    Este é parte do código que uso p/ atualizar a ListBox com sucesso.

    Edison

    quinta-feira, 28 de fevereiro de 2013 21:52

Todas as Respostas

  • Há várias formas de se fazer isso.

    A que mais gosto é criar uma coluna com largura 0, de forma que cada dado inserido possui a informação da linha onde está presente nessa coluna "oculta".

    Você também pode, em tempo de execução, buscar o valor da caixa de listagem (ListBox), o que não recomendo, pois se os registros repetirem, você pode editar a linha errada.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 25 de fevereiro de 2013 23:51
    Moderador
  • Felipe e se ele fizer um Clear na ListBox antes de cada nova busca? Isso provavelmente evitaria a repetição dos registros, ou estou errado?

    Se fizer algo assim :

    Dim r_OM As Long

    Dim TotalLinhas_OM As Long

    ListBox1.Clear

    'Conta o nº de linhas do range.
        TotalLinhas_OM = Range("A1:A91").Count
      Range("A" + CStr(TotalLinhas_OM)).End(xlUp).Select

     'Prenche a listbox com os novos valores .
    For r_OM = 1 To TotalLinhas_OM
        ListBox1.AddItem Cells(r_OM, "A")
      Next r_OM

    Este é parte do código que uso p/ atualizar a ListBox com sucesso.

    Edison

    quinta-feira, 28 de fevereiro de 2013 21:52