none
ListBox + TextBox RRS feed

  • Pergunta

  • Ola,

    bom... vou mostrar o cenario e quem puder me explica como fazer:

    1- com um TEXTBOX, a pessoa vai colocar um nome e clicar no botão OK;

    2- feito isso.. oq estiver nesse TEXTBOX vai ser incluso em um LISTBOX, ou seja, atravez do TEXTBOX a pessoa vai incluindo itens no LISTBOX..

    3-quando a pessoa adicionar item no listbox.. esse item tb preencherá uma celula... ou seja.. se no TEXTBOX a pessoa coloca "Microsoft"... em celula tal da planilha tal será escrito Microsoft

    4-uma vez q eu consegui fazer isso, como posso adicionar um segundo item logo abaixo do primeiro sem repetir?ou seja, qnd ele for incluir outro item.. ele verifica se o mesmo ja existe, se sim retorna uma mensagem, se não ele inclui no listbox e também preenche a coluna q eu quero

     

    Grato pela atenção

    quarta-feira, 11 de agosto de 2010 13:18

Respostas

  • Olá Lucas, boa noite

    Vamos por partes

    Para ir do textbox para o listbox

    listbox1.additem textbox.text

    Para ir do textbox para uma célula da coluna A, caso não exista

     

    Dim rg As Range

    Set rg = Range("A:A").Find(textBox1.Text)

    If Not rg Is Nothing Then

        MsgBox "item ja cadastrado"

    Else

        Range("A1").End(xlDown).Offset(1, 0) = TextBox1.Text

    End If

     

     

    teste ai e qqer coisa fale.

    Att


    Bruno Silva Leite Office Developer
    quarta-feira, 11 de agosto de 2010 23:36
  • Lucas não é erro não , é que os dados devem estar dispostos de forma diversa.

    Altere a seguinte linha e teste

    Range("A1").End(xlDown).Offset(1, 0) = TextBox1.Text

    para

    Range("A65536").End(xlup).Offset(1, 0) = TextBox1.Text

    Att

     


    Bruno Silva Leite Office Developer
    sexta-feira, 13 de agosto de 2010 23:38

Todas as Respostas

  • Olá Lucas, boa noite

    Vamos por partes

    Para ir do textbox para o listbox

    listbox1.additem textbox.text

    Para ir do textbox para uma célula da coluna A, caso não exista

     

    Dim rg As Range

    Set rg = Range("A:A").Find(textBox1.Text)

    If Not rg Is Nothing Then

        MsgBox "item ja cadastrado"

    Else

        Range("A1").End(xlDown).Offset(1, 0) = TextBox1.Text

    End If

     

     

    teste ai e qqer coisa fale.

    Att


    Bruno Silva Leite Office Developer
    quarta-feira, 11 de agosto de 2010 23:36
  • Ah muleeeeque.... certinho Bruno... obrigado ^^
    sexta-feira, 13 de agosto de 2010 16:37
  • Bruno... um detalhe aqui.... só tem uma coisa errada cara, seguinte

    ele só preenche a célula A3, ele não passa para debaixo... ou seja, ele fica substuindo cada item que eu coloco

    sexta-feira, 13 de agosto de 2010 16:44
  • Lucas não é erro não , é que os dados devem estar dispostos de forma diversa.

    Altere a seguinte linha e teste

    Range("A1").End(xlDown).Offset(1, 0) = TextBox1.Text

    para

    Range("A65536").End(xlup).Offset(1, 0) = TextBox1.Text

    Att

     


    Bruno Silva Leite Office Developer
    sexta-feira, 13 de agosto de 2010 23:38
  • Bruno valeu mesmo cara.. deu certo agora

    Seguinte..vc tem paciencia de explicar oq seria esse "End(xlup).Offset(1, 0)" ?

    Grato

    quarta-feira, 18 de agosto de 2010 20:33
  • Lucas boa noite

    Isto seria o mesmo que vc fazer o seguinte

    Selecionar a Célula A65536

    teclar end seta para cima (será selecionada a última linha dos dados)

    o offset(1,0) serve para procurar a próxima linha em branco..

    qqer coisa fale ai..

    Att

     


    Bruno Silva Leite Office Developer
    quinta-feira, 19 de agosto de 2010 23:30