none
Enviar dados da listbox Para planilha RRS feed

  • Pergunta

  • Pessoal,

    Tenho um sisteminha aki e preciso enviar todos os dados da listbox para uma unica celula da planilha, e dar serquencia do salvamento nas proximas celulas ex.(A1,A2,A3......)junto da listbox tenho outros dados em textbox que preciso salvar tambem!

    usei o codigo abaixo para salvar a listbox, porem ela esta salvando somente um intem da list box.

    Private Const NomePlanilha As String = "banco_dados_ferramentas"
    'Private Const LinhaCabecalho As Integer = 1

    'criado a variável para contar quantas linhas foram preenchidas para dar sequência no salvamento dos registro
    Dim ws As Worksheet
        Dim col As Integer
        Dim lin As Integer
        Set ws = ThisWorkbook.Worksheets(NomePlanilha)
        
                lin = 2
                col = 1
                While (Plan4.Cells(lin, col) <> "")
                    lin = lin + 1
                Wend

     Plan4.Cells(lin, 15).Value = ListBox_funcoes_ferramenta.List
                Plan4.Cells(lin, 16).Value = ListBox_nivel_manutencao.List
                Plan4.Cells(lin, 17).Value = ListBox_efetividade_aplicacao_motor.List
                Plan4.Cells(lin, 18).Value = ListBox_efetividade_aplicacao_serie.List

    Usei este outro codigo esta salvando todos os dados da listbox, porem esta salvando sempre na mesma celula.

    Private Sub CommandButton1_Click()
    
    Dim valor As Variant
    Dim i As Long
    For i = 0 To Me.ListBox1.ListCount - 1
        valor = valor & ", " & Me.ListBox1.List(i, 0)
    Next i
    
    ActiveSheet.Range("A1").Value = Right(valor, Len(valor) - 2)
    
    End Sub

    Com posso ajustar so dois codiogos para salvar todos os dados da listbox em uma mesma celula, e na proxima rotina dar sequencia nas celulas seguintes.? Ou tem outra form amais simples?

    quarta-feira, 6 de janeiro de 2016 16:06

Respostas

  • Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Não utilize While...Wend: http://ambienteoffice.com.br/blog/sintaxe-do-vba/#while...wend

    ---

    O código está bom e simples.


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    sexta-feira, 8 de janeiro de 2016 17:56
    Moderador

Todas as Respostas

  • Pessoal depois de algum sofrimento aki, esse codigo abaixo de certo, funcionou redondinho, Sealguem conhece uma forma mais simples de se fazer, compartilhe com agente! \o/

    Dim valor1 As Variant
    Dim i As Long
    For i = 0 To Me.ListBox1.ListCount - 1
    valor1 = valor1 & ", " & Me.ListBox1.List(i, 0)
    Next i


                lin = 2
                col = 15 'coluna O
                While (Plan4.Cells(lin, col) <> "")
                    lin = lin + 1
                Wend
                Plan4.Cells(lin, 15) = Right(valor1, Len(valor1) - 2)

                            
    quarta-feira, 6 de janeiro de 2016 17:11
  • Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Não utilize While...Wend: http://ambienteoffice.com.br/blog/sintaxe-do-vba/#while...wend

    ---

    O código está bom e simples.


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    sexta-feira, 8 de janeiro de 2016 17:56
    Moderador