Como Preencher Listview no Excel VBA 2016

Como Preencher Listview no Excel VBA 2016. No Excel e possível criar inúmeras soluções que podem facilitar o nosso dia a dia no trabalho na execução de tarefas. Possuímos uma gama de opções para criar relatórios em formulário, planilhas eletrônicas entre outras ferramentas que e possível desenvolver usando o Excel.

Para desenvolver formulários no VBA, talvez o listview seja a maneira mais adequada de apresentar dados em forma de tabela, pois o listview permite uma aparência mais amigável, assemelhando-se a visualização da planilha, diferentemente de um listbox. Vamos demostrar um exemplo simples mais que a parti dele você pode ampliar seu projeto para mais abrangente afinal o código será o mesmo apenas vai precisar acrescentar mais algumas linhas de códigos com as novas opções. Veja um exemplo de visualização de um listview num userform:

Veja como ficou o nosso exemplo da listview

Como Preencher Listview no Excel VBA 2016

Como preencher listview no Excel VBA 2016 – Controle Listview

Procure em nosso site como habilita a guia Desenvolvedor caso não esteja habilitado no seu Excel.

O controle Listview não vem habilitado por padrão, por isso é preciso habilitá-lo, clicando com o botão direito do mouse na caixa de ferramentas e selecionando “Controles adicionais…” e então selecionar o controle “Microsoft Listview Control, Version 6.0”:

Como preencher listview no Excel VBA 2016

veja no passo a passo como você faz para habilitar o controle listview.

Como preencher listview no Excel VBA 2016

Apos clicar com o botão direito em “Controles Adicionais” lhe aparecerá essa janela com todos os controles disponíveis basta rolar para baixo até encontrar essa opção que esta selecionada e marcar a caixinha quadrada e clicar em Ok e pronto já vai esta habilitado o nosso controle.

Como preencher listview no Excel VBA 2016

É importante também que a referência Microsoft Windows Common Controls esteja ativa para que o Listview funcione adequadamente. Veja a imagem:

Como preencher listview no Excel VBA 2016

Vamos começar, dê duplo clique sobre o userform para abrir a tela do módulo dele para iniciar a edição do código. Vou adotar um código no evento Initialize do Userform (ou dependendo da aplicação também poderia ser no evento Activate) para que ao carregar o userform o Listview já venha populado. Para facilitar o desenvolvimento, vou deixar separado o procedimento de carregar o listview (vou chamar de “PreencherListView”), para que ele seja chamado num comando dentro do evento Initialize do Userform.

Cole esse Código dentro do evento do formulário

Para usar um elemento da Listview, você pode, por exemplo, usar o evento Click do Listview e a propriedade SelectedItem. Essa propriedade trará o valor da primeira coluna da linha clicada do listview. Se quiser usar um valor das outras colunas é preciso adicionar a propriedade SubItems com o índice desejado iniciando a partir de 1. Veja um exemplo de código para trazer uma msgbox para cada item da linha:

Como preencher listview no Excel VBA 2016

Private Sub ListView1_Click()
MsgBox “NOME: ” & ListView1.SelectedItem
MsgBox “IDADE: ” & ListView1.SelectedItem.SubItems(1)
MsgBox “SEXO: ” & ListView1.SelectedItem.SubItems(2)
End Sub

Procedimento listview – Como preencher listview no Excel VBA 2016
Private Sub UserForm_Initialize()
‘Ajustes de algumas propriedades importantes do ListView
With Me.ListView1
.Gridlines = True ‘linhas de grade visíveis (true)
.HideColumnHeaders = False ‘False para cabeçalho visível e True para invisível
.View = lvwReport ‘Ajustar visualização do listview
End With
‘se quiser detalhes da propriedade .view consulte: https://msdn.microsoft.com/en-us/library/aa733652(v=vs.60).aspx)

‘Chamar o procedimento para popular o Listview1
Call PreencherListView
End Sub

código para preencher a listview
Private Sub PreencherListView()
‘Declaração de variáveis
Dim wksOrigem As Worksheet
Dim rData As Range
Dim rCell As Range
Dim LstItem As ListItem
Dim linCont As Long
Dim colCont As Long
Dim i As Long
Dim j As Long

‘Definição da planilha de origem
Set wksOrigem = Worksheets(“Planilha1”)

‘Definição do range de origem
Set rData = wksOrigem.Range(“A1”).CurrentRegion

‘Adicionar cabeçalho no listview com laço de repetição ‘For’
For Each rCell In rData.Rows(1).Cells
ListView1.ColumnHeaders.Add Text:=rCell.Value, Width:=90
Next rCell

‘Alimentar variável linCont com número de linhas do intervalo fonte
linCont = rData.Rows.Count

‘Alimentar variável colCont com número de linhas do intervalo fonte
colCont = rData.Columns.Count

‘Preenche o ListView
For i = 2 To linCont
Set LstItem = ListView1.ListItems.Add(Text:=rData(i, 1).Value)
For j = 2 To colCont
LstItem.ListSubItems.Add Text:=rData(i, j).Value
Next j
Next i
End Sub

como ficou o nosso exemplo

Como preencher listview no Excel VBA 2016

Veja mais…

Planilhas para a gestão do seu negócio em Excel

Gerar orçamento em Excel e salvar em PDF

Planilha simulador de parcelamento em Excel

Como controlar recebimentos em cartões de crédito

A Importância do Fluxo de Caixa nas Empresas

Sistema Controle de Contas a Pagar e Receber

Planilha agenda de contato corporativo em Excel

Planilha para Controlar de Dízimos e Ofertas em Excel

Planilhas em Excel para Abertura de Empresa

Como Usar a função PROCV (VLOOKUP) do Excel

Macro para salvar cadastro de clientes Excel VBA

Como calcular o lucro em porcentagem no Excel

Copiar dados entre planilhas do Excel usando uma macro

Hoje mostramos Como preencher listview no Excel VBA 2016

Deixa suas duvidas nos comentários ou entre em contato por e-mail

Aqui em nosso site e só baixar e usar.