ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Controle ListView

Dúvidas gerais sobre Excel
Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1008
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Controle ListView

Mensagem por joseA » Seg Set 06, 2010 6:36 pm

Guilherme,

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


Se o post lhe agradou clique no sinal de positivo (ao lado de citar).

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Controle ListView

Mensagem por Guima » Seg Set 06, 2010 6:39 pm

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 ?


Guilherme

Sub Guilherme_Initialize()
If Me.Guima <> "" Then
MsgBox "Obrigado pela força "
Else
MsgBox "Um abraço pra todos "
End If
End Sub

Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1008
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Controle ListView

Mensagem por joseA » Seg Set 06, 2010 6:46 pm

Vc enviou apenas um arquivo e não tem Listbox.


Se o post lhe agradou clique no sinal de positivo (ao lado de citar).

Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Controle ListView

Mensagem por Guima » Seg Set 06, 2010 7:01 pm

Putz...

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

segue novamente

[REMOVIDO]


Guilherme

Sub Guilherme_Initialize()
If Me.Guima <> "" Then
MsgBox "Obrigado pela força "
Else
MsgBox "Um abraço pra todos "
End If
End Sub

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1559
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Controle ListView

Mensagem por Mauro Coutinho » Seg Set 06, 2010 9:58 pm

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.


Mauro Coutinho - Exemplos Somente em Office 2003
São José dos Pinhais - Pr
Se sua Duvida foi solucionada . . . .Acrescente [RESOLVIDO] ao título.
Ficou satisfeito com o FORUM ? Divulgue, indicando-o aos colegas !

Avatar do usuário
webmaster
Administrador
Mensagens: 2796
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Controle ListView

Mensagem por webmaster » Seg Set 06, 2010 11:47 pm

Desculpe pessoal,

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

Abraços


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1559
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Controle ListView

Mensagem por Mauro Coutinho » Ter Set 07, 2010 11:27 am

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


Mauro Coutinho - Exemplos Somente em Office 2003
São José dos Pinhais - Pr
Se sua Duvida foi solucionada . . . .Acrescente [RESOLVIDO] ao título.
Ficou satisfeito com o FORUM ? Divulgue, indicando-o aos colegas !

Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Controle ListView

Mensagem por Guima » Ter Set 07, 2010 12:36 pm

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


Guilherme

Sub Guilherme_Initialize()
If Me.Guima <> "" Then
MsgBox "Obrigado pela força "
Else
MsgBox "Um abraço pra todos "
End If
End Sub

Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1559
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Controle ListView

Mensagem por Mauro Coutinho » Ter Set 07, 2010 12:50 pm

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


Mauro Coutinho - Exemplos Somente em Office 2003
São José dos Pinhais - Pr
Se sua Duvida foi solucionada . . . .Acrescente [RESOLVIDO] ao título.
Ficou satisfeito com o FORUM ? Divulgue, indicando-o aos colegas !

Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Controle ListView

Mensagem por Guima » Ter Set 07, 2010 1:06 pm

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


Guilherme

Sub Guilherme_Initialize()
If Me.Guima <> "" Then
MsgBox "Obrigado pela força "
Else
MsgBox "Um abraço pra todos "
End If
End Sub

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder