Tag Archives: Planilha

VBA – Transferindo os dados de um ListBox para uma Planilha

Por falta de muitos controles no VBA, o ListBox é quase uma unanimidade para fazer a apresentação dos dados de forma tabular. Ele funciona bem, permite adicionar múltiplas colunas, adicionar valores de cabeçalho, mudar o formato da seleção, enfim.

O fato é que, códigos de exemplo para alimentar um listBox com os dados de uma planilha há de monte, mas o contrário nem tanto. Bom, atendendo a pedidos, coloco aqui uma alternativa de código que faz exatamente o trabalho de copiar os dados de um ListBox para uma planilha.

Para não começar totalmente do zero, tomei como base o arquivo do site Ozgrid, disponível neste link:

http://www.ozgrid.com/FreeDownloads/ListBoxTransfer.zip

O código está bem bacana, porém, muito amarrado a planilha que foi produzida, sendo totalmente dependente da sua implementação. Abaixo segue o código com algumas mudanças de tal forma que, possa ser facilmente adaptado para qualquer planilha:

Sub Copiar_ListBox_Para_Planilha(ByVal NomePlanilhaDestino As String, ByRef listBoxControl As MSForms.ListBox)
    Dim iListCount As Integer, iColCount As Integer, iColListCount As Integer
    Dim iRow As Integer
    Dim linhaInicial As Integer
    Dim planilhaDestino As Worksheet
 
    Set planilhaDestino = ThisWorkbook.Worksheets(NomePlanilhaDestino)
    linhaInicial = planilhaDestino.Cells(65536, 2).End(xlUp).Row + 1
 
    If listBoxControl.RowSource <> "" Then
        iColListCount = Range(listBoxControl.RowSource).Columns.Count
    Else
        iColListCount = listBoxControl.ColumnCount - 1
    End If
 
    If listBoxControl.ColumnHeads Then
        iRow = 1
    End If
 
    'faz o loop para todos os itens do ListBox
    For iListCount = 0 To listBoxControl.ListCount - 1
        If listBoxControl.Selected(iListCount) = True Then  'testa se o item está selecionado
            listBoxControl.Selected(iListCount) = False
            iRow = iRow + 1
            'faz o loop pelas colunas
            For iColCount = 0 To iColListCount - 1
                'copia os dados do controle para a planilha
                planilhaDestino.Cells(iRow, iColCount + 1).Value = listBoxControl.List(iListCount, iColCount)
            Next iColCount
        End If
    Next iListCount
 
End Sub

Para fazer a chamada a esse método na mesma planilha disponibilizada, bastaria colocar o seguinte código:

Call Copiar_ListBox_Para_Planilha("Data Transfer Sheet", Me.ListBox1)

Ou seja, ele permite você definir o nome da planilha para qual será copiado o conteúdo e qual o controle ListBox será a fonte dos dados. O código faz várias considerações, prevendo que seus dados sejam baseados em adição manual ou através de RowSource. Copie o código abaixo e faça o teste em um ListBox existente!

Bom proveito!

Planilhas de Controle Financeiro no Excel – Parte 2

Já tinha falado uma vez sobre controles financeiros pessoais e indicado alguns exemplos. Desta vez, o pessoal da INFO Online colocou mais uma opção no seu site.

Planilha Controle Financeiro Pessoal ajuda a economizar

Planilhas de Controle Financeiro

Um eficiente controle financeiro é o melhor remédio para o salário sobrar no final do mês e a conta do banco ficar no azul. Mas nem sempre é simples fazer as contas. Pensando nos internautas com esse problema, a equipe da INFO preparou o Controle Financeiro Pessoal.

O aplicativo é uma tabela preparada para o Microsoft Excel 2007. Ela tem várias categorias de despesas, onde o internauta preenche os gastos que teve com moradia, alimentação, transporte, saúde, educação, lazer, vestuário e obrigações financeiras. Cada categoria, inclusive, tem subcategorias (em lazer, por exemplo, tem gastos com cinema e jornais), assim, o detalhamento das despesas ficam mais precisos.

Se o internauta preencher corretamente todos os campos, terá uma dimensão exata do quanto gasta e do quanto ganha por mês. Se descobrir, com esses números, que está com as finanças descontroladas, provavelmente terá de colocar um escorpião no bolso. Caso os números sejam favoráveis, aí é só gastar ou aplicar num fundo de investimento.

O link para Download é:

http://info.abril.com.br/downloads/controle-financeiro-pessoal

O autor da planilha é Fabiano Candido