Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Controle ListView
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: Controle ListView
Guilherme,
No seu arquivo não tem o Controle Listbox funcionando como vc disse. Seria importante p/ verificar a funcionalidade.
No seu arquivo não tem o Controle Listbox funcionando como vc disse. Seria importante p/ verificar a funcionalidade.
Re: Controle ListView
José,
Essa parte abaixo é a que faz a rotina pelo LISTBOX.
Esta parte fica na rotina chamada FINALIZA. Lembro que esse trecho está com " ' " por isso ele aparece como comentário, retire as " ' " ai ela volta a funcionar você entenderá o processo realizado pelo LISTBOX.
Outra coisa que esqueci de comentar, mas acredito que vc já deve ter percebido; ambos os arquivos precisam estar abertos, ok ?
Essa parte abaixo é a que faz a rotina pelo LISTBOX.
Código: Selecionar todos
' TRANSFERE DADOS DO LISTBOX PARA A PLAN BDCQE
'For Y = 0 To ListBox1.ListCount - 1
'Set r = Sheets("BDCQE").Range("C2:C5000").Find(What:=Val(ListBox1.List(Y, 0)), After:=Sheets("BDCQE").Range("C2"), LookIn:=xlValues, LOOKAT _
':=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
'False, SearchFormat:=False)
'If Not r Is Nothing Then
'Sheets("BDCQE").Range("E" & r.Row) = Sheets("BDCQE").Range("E" & r.Row) - ListBox1.List(Y, 2)
'End If
'Next
Outra coisa que esqueci de comentar, mas acredito que vc já deve ter percebido; ambos os arquivos precisam estar abertos, ok ?
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: Controle ListView
José, sinceramente, cheguei a fazer uma busca no forun e não havia localizado esse seu tópico, alias esse sistema de busca do site é esquisito, as vezes não da retorno algum dizendo que é necessário digitar um minimo de caracteres e retorna erro.
Mas deixando isso de lado, o que tenho a dizer é que seu modelo ja percorreu a Net, pois peguei o que postei no Forum do Yahoo, (http://br.groups.yahoo.com/group/ExcelBr/message/77238), a não ser que você participa no Forum com o pseudonimo de Ricardo Scacabarossi, rsrsrsrsrsrsrs, e como não vi nenhum crédito na mesma não dava para identificar no post.
abraços e parabens pelo modelo.
Mas deixando isso de lado, o que tenho a dizer é que seu modelo ja percorreu a Net, pois peguei o que postei no Forum do Yahoo, (http://br.groups.yahoo.com/group/ExcelBr/message/77238), a não ser que você participa no Forum com o pseudonimo de Ricardo Scacabarossi, rsrsrsrsrsrsrs, e como não vi nenhum crédito na mesma não dava para identificar no post.
abraços e parabens pelo modelo.
Re: Controle ListView
Desculpe pessoal,
Ainda estou aprendendo a administrar o fórum. Acabei de indexar a busca. Vamos ver se melhora.
Abraços
Ainda estou aprendendo a administrar o fórum. Acabei de indexar a busca. Vamos ver se melhora.
Abraços
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: Controle ListView
Guima, quanto a questão da rotina de pesquisar os Itens do Listview, postei aquele exemplo do José somente para você analizar a parte que ele usou para localizar o Item selecionado no Listview que faz a procura na planilha e altera, seria só para uma possível adaptação.Tomas, quem tem de se desculpar sou eu, não foi minha intenção repreender, eu devia ter postado em PVT, e eu não sabia que tinha como configurar ou indexar o sistema de Busca.
Agora se entendi, você não quer usar a opção de Item selecionado e sim, que seja pesquisado todos os Valores da Coluna 1 do Listview com os Valores que constam na Coluna B da Planilha e se localizado efetuar suas Operações, se for isso veja se a rotina abaixo ajuda.
Código: Selecionar todos
Sub PesquisaTeste()
Dim i As Integer, j As Integer
For i = 1 To ListView1.ListItems.Count
With Worksheets(1).Range("B2:B10") 'Seta o Range
Set r = .Find(ListView1.ListItems(i).ListSubItems(1), LookIn:=xlValues)'Procura Item Col1 Lstview
End With
If Not (r Is Nothing) Then
'Valor da Coluna 1
MsgBox "Vlr procurado Col1 = " & r
'Valor da Coluna 3
MsgBox "Vlr Col3 Listview = " & ListView1.ListItems(i).ListSubItems(2).Text
'Aqui coloca seu procedimento
MsgBox "Vlr Localizado - Coloque aqui seu procedimento"
Else
MsgBox "Vlr Não Localizado naPlanilha"
End If
Next i
End Sub
abraços
Re: Controle ListView
Tomas,
Absolutamente você não nos deve desculpas, o fórum está ótimo, e volto a afirmar (sem demagogia)que é hoje o melhor fórum que participo. Quanto as pesquisas infelizmente é um problema comum a medida que o número de informações cresce, mas se há meios para resolver ainda melhor !!!
Mauro,
Mais uma vez obrigado
Absolutamente você não nos deve desculpas, o fórum está ótimo, e volto a afirmar (sem demagogia)que é hoje o melhor fórum que participo. Quanto as pesquisas infelizmente é um problema comum a medida que o número de informações cresce, mas se há meios para resolver ainda melhor !!!
Mauro,
É isso mesmo, só que a procura deve ser feita na coluna C. Tomei a liberdade de TENTAR adaptar seu código de acordo com minhas necessidades. Ele compilou sem problemas, porém não conseguiu identificar o valor da coluna do LISTVIEW na planilha. E com isso só exibe a mensagem que consta na rotina: " MsgBox "Vlr Não Localizado naPlanilha". Veja como ficou toda a rotina após adaptá-la:Agora se entendi, você não quer usar a opção de Item selecionado e sim, que seja pesquisado todos os Valores da Coluna 1 do Listview com os Valores que constam na Coluna B da Planilha e se localizado efetuar suas Operações, se for isso veja se a rotina abaixo ajuda.
Código: Selecionar todos
Dim a As Double, b As Double
For a = 1 To LISTA.ListItems.Count
With Workbooks("MIG.xls").Sheets("BDCQE").Range("C2:C5000") 'Seta o Range
Set r = .Find(LISTA.ListItems(a).ListSubItems(1), LookIn:=xlValues) 'Procura Item Col1 Lstview
End With
If Not (r Is Nothing) Then
'Valor da Coluna 1
MsgBox "Vlr procurado Col1 = " & r
'Valor da Coluna 3
MsgBox "Vlr Col3 Listview = " & LISTA.ListItems(a).ListSubItems(3).TEXT
'Aqui coloca seu procedimento
Sheets("BDCQE").Range("E" & r.Row) = Sheets("BDCQE").Range("E" & r.Row) - (LISTA.ListItems(a).SubItems(3)) ' fiquei na dúvida se aqui eu devia associar "r" com Row
Else
MsgBox "Vlr Não Localizado naPlanilha"
End If
Next a
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: Controle ListView
Guima, procure fazer um teste em uma outra planilha utilizando o F8 ou um Debug.Print para analizar os valores que estão sendo retornados, outra coisa altere o Double para Integer e veja se resolve, estou terminando um exemplo da forma que fiz e ja posto aqui.
[]s
[]s
Re: Controle ListView
Mauro,
Eu não sei se o LISTVIEW inicia com 1 ou 0, mas no caso do LISTBOX ele inicia por zero, certo. De qualquer forma testei iniciando com 0 e não obtive sucesso.
ele não esta identificando um número, mas um nome. E após percorre-la já salta para o ELSE, pois não encontrou valor semelhante na coluna C da planilha.
Valeu Mauro
Eu não sei se o LISTVIEW inicia com 1 ou 0, mas no caso do LISTBOX ele inicia por zero, certo. De qualquer forma testei iniciando com 0 e não obtive sucesso.
Já havia feito o teste com Integer e até utilizando Variant, mas a resposta foi a mesma. Quanto ao F8, nessa linhaGuima, procure fazer um teste em uma outra planilha utilizando o F8 ou um Debug.Print para analizar os valores que estão sendo retornados, outra coisa altere o Double para Integer e veja se resolve, estou terminando um exemplo da forma que fiz e ja posto aqui.
Código: Selecionar todos
: Set r = .Find(LISTA.ListItems(a).ListSubItems(1), LookIn:=xlValues) 'Procura Item Col1 Lstview
Valeu Mauro