Usuário com melhor resposta
Enviar dados da listbox Para planilha

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
WendPlan4.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.ListUsei 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?
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 14:32
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) -
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 14:32