Página 5 de 8

Re: Controle ListView

Enviado: Seg Set 06, 2010 6:36 pm
por joseA
Guilherme,

No seu arquivo não tem o Controle Listbox funcionando como vc disse. Seria importante p/ verificar a funcionalidade.

Re: Controle ListView

Enviado: Seg Set 06, 2010 6:39 pm
por Guima
José,

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
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 ?

Re: Controle ListView

Enviado: Seg Set 06, 2010 6:46 pm
por joseA
Vc enviou apenas um arquivo e não tem Listbox.

Re: Controle ListView

Enviado: Seg Set 06, 2010 7:01 pm
por Guima
Putz...

não repara José.. é a idade..rs

segue novamente

[REMOVIDO]

Re: Controle ListView

Enviado: Seg Set 06, 2010 9:58 pm
por Mauro Coutinho
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.

Re: Controle ListView

Enviado: Seg Set 06, 2010 11:47 pm
por webmaster
Desculpe pessoal,

Ainda estou aprendendo a administrar o fórum. Acabei de indexar a busca. Vamos ver se melhora.

Abraços

Re: Controle ListView

Enviado: Ter Set 07, 2010 11:27 am
por Mauro Coutinho
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.
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.
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
Associe a um botão e faça os testes.

abraços

Re: Controle ListView

Enviado: Ter Set 07, 2010 12:36 pm
por Guima
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,
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.
É 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:

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  
Mais uma vez obrigado

Re: Controle ListView

Enviado: Ter Set 07, 2010 12:50 pm
por Mauro Coutinho
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

Re: Controle ListView

Enviado: Ter Set 07, 2010 1:06 pm
por Guima
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.
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.
Já havia feito o teste com Integer e até utilizando Variant, mas a resposta foi a mesma. Quanto ao F8, nessa linha

Código: Selecionar todos

:  Set r = .Find(LISTA.ListItems(a).ListSubItems(1), LookIn:=xlValues) 'Procura Item Col1 Lstview
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