Ir para conteúdo
Fórum Script Brasil

IsraelB

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre IsraelB

IsraelB's Achievements

0

Reputação

  1. IsraelB

    Exibir Dados numa ListView

    Boa Noite! Era exatamente disso que precisava, realizei umas alterações no formulário e apliquei o seu código, funcionou perfeitamente. Ajudou demais, sem nem como te agradecer. Valeuu!!
  2. Boa tarde! Estou com um erro em um código de exibição de dados numa ListView, será que alguém pode me ajudar? Private Sub UserForm_Initialize() AdicionarColunasListView PreencherListViewRes End Sub Sub AdicionarColunasListView() Dim coluna As ColumnHeader ' Adiciona as colunas With ListViewRes ' Adiciona as colunas com os cabeçalhos Set coluna = .ColumnHeaders.Add(, , "EMPRESA") coluna.Width = 52 Set coluna = .ColumnHeaders.Add(, , "PRODUTO") coluna.Width = 87 Set coluna = .ColumnHeaders.Add(, , "QUANTIDADE") coluna.Width = 100 Set coluna = .ColumnHeaders.Add(, , "APRESENTACAO") coluna.Width = 190 Set coluna = .ColumnHeaders.Add(, , "PREÇO 1") coluna.Width = 62 Set coluna = .ColumnHeaders.Add(, , "PREÇO 2") coluna.Width = 50 Set coluna = .ColumnHeaders.Add(, , "EAN") coluna.Width = 50 Set coluna = .ColumnHeaders.Add(, , "DATA") coluna.Width = 50 Set coluna = .ColumnHeaders.Add(, , "PUBLICADA") coluna.Width = 60 Set coluna = .ColumnHeaders.Add(, , "ATUALIZADA") coluna.Width = 60 ' Define o estilo das colunas (opcional) ListViewRes.View = lvwReport End With End Sub Sub PreencherListViewRes() Dim searchValue As String Dim ws As Worksheet Dim lastRow As Long Dim listViewRow As Long Dim resultListView As listView ' Defina o nome da planilha onde você deseja procurar Set ws = ThisWorkbook.Sheets("TabelaValores") ' Defina o valor do rótulo a ser pesquisado searchValue = VPesquisado.Caption ' Limpar a ListView antes de adicionar novos resultados Set resultListView = ListViewRes ' Encontrar a última linha na coluna A lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Loop através das células na coluna A e verificar os valores For listViewRow = 2 To lastRow ' Começa na linha 2 para pular o cabeçalho If LCase(Trim(ws.Cells(listViewRow, 1).value)) = LCase(Trim(searchValue)) Then ' Adicionar os valores das colunas B a K na ListView Dim col As Integer Dim newItem As listItem Set newItem = resultListView.ListItems.Add(, , ws.Cells(listViewRow, "B").value) For col = 3 To 11 ' Colunas C a K newItem.ListSubItems.Add , , ws.Cells(listViewRow, col).value Next col End If Next listViewRow End Sub A base da pesquisa é basicamente assim: Em um formulário o usuário insere o valor que será pesquisado, após uma série de validações ele transfere esse valor para o rótulo "VPesquisado" do formulário atual afim de inicializar o formulário preenchendo a ListView. O maior problema do código é que na hora que inicia o formulário, somente as colunas aparecem, enquanto as linhas acabam não aparecendo. A pesquisa consiste em: Procurar o valor na coluna A da planilha "TabelaValores" e retornar os valores correspondentes a linha, coluna B a K. (considerando repetidos) Então se eu pesquisar o nome "Peito de Peru", e ele encontrar nas linhas 3, 8 e 100, deverá retornar os valores das colunas B a K das respectivas linhas 3,8 e 100.
×
×
  • Criar Novo...