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 » Ter Set 07, 2010 1:12 pm

Boa tarde,
Guima escreveu:... Veja como ficou toda a rotina após adaptá-la...
E ai, resolveu??

Para um direcionamento, este procedimento lista os dados do controle LISTA:

Código: Selecionar todos

 Dim y As Integer
    
    For y = 1 To LISTA.ListItems.Count
       MsgBox "Código: " & LISTA.ListItems(y).Text & Chr(13) & _
    "Produto: " & LISTA.ListItems(y).ListSubItems(1).Text & Chr(13) & "Quantidade: " & _
    LISTA.ListItems(y).ListSubItems(2).Text & Chr(13) & "Valor: " & _
    LISTA.ListItems(y).ListSubItems(3).Text & Chr(13) & "Total: " & _
    LISTA.ListItems(y).ListSubItems(4).Text
    Next


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.


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 » Ter Set 07, 2010 1:24 pm

Em tempo...

Teste assim:

Código: Selecionar todos

' AQUI MORA O PROBLEMA....
For y = 1 To LISTA.ListItems.Count
Set r = Sheets("BDCQE").Range("C2:C5000").Find(What:=Val(LISTA.ListItems(y).Text), 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) - (LISTA.ListItems(y).SubItems(2))
    End If


  Next


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

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 1:28 pm

Guima, utilizando o Modelo do José, veja se seria isso, só os resultados que teria de setar as colunas, isso não entendi direito, mas procura pelo Valor da Coluna 1 do Listview se tem na Coluna C da Planilha e se encontra faz a operação.

José depois testo com a sua rotina que postou acima.

[]s
Anexos
ListView - Guima.rar
(20.36 KiB) Baixado 278 vezes


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:31 pm

Ufa... matou o problema José !!!

Rapaz... então o LISTVIEW começa mesmo com "0", certo ?

Brigadão José, Mauro e todos que acompanharam o tópico. Tô me acostumando com o LISTIVIEW ainda, mas tô ficando surpreso com a infinidade de recursos que ele possui.

Abração pra todos


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
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 » Ter Set 07, 2010 1:57 pm

Rapaz... então o LISTVIEW começa mesmo com "0", certo ?
Correto.

O seu raciocínio estava certo, veja que alterei apenas referências as colunas no seu exemplo. O que estava pegando aqui é o micro e a minha falta de paciência.

Para mim o ListView é a evolução do ListBox.

Ah...
Guima escreveu:... restam-me os Heróis da Resistência...
Lembranças aos Heróis da Resistência. :lol: Fiquei orgulhoso por ter salvo mais alguns..

Abraços a todos. Especialmente a vc, Mauro e Tomás, parceiros nessa empreitada.


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 » Ter Set 07, 2010 8:18 pm

Guima, utilizando o Modelo do José, veja se seria isso, só os resultados que teria de setar as colunas, isso não entendi direito, mas procura pelo Valor da Coluna 1 do Listview se tem na Coluna C da Planilha e se encontra faz a operação.
Mauro, o exemplo é um pouco diferente do que eu pretendia, mas com o auxílio do nosso companheiro José o problema foi solucionado. De qualquer forma seu exemplo já esta guardado em meu acervo e para continuar meus estudos sobre o Listview.

Lembranças aos Heróis da Resistência. Fiquei orgulhoso por ter salvo mais alguns..
Houveram algumas baixas significativas nos Heróis da Resistência, mas ainda permanecem...Valeu pela força José.

Bom, deixo algumas dúvidas que se não forem respondidas tudo bem, são apenas curiosidades minha.
- É possivel instalar as .OCX do MSFLEXGRID para que ele funcione no EXCEL ?
- Há como fazer o foco do LISTVIEW ficar sempre na última linha, de modo que a barra de rolagem desça automaticamente ?

Abração e bom final de feriadão para todos


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 8:41 pm

Guima, para selecionar o último item do Listview, use:

Código: Selecionar todos

Private Sub CommandButton1_Click()
   ListView1.ListItems(ListView1.ListItems.Count).EnsureVisible
    ListView1.ListItems(ListView1.ListItems.Count).Selected = True
    ListView1.SetFocus
End Sub
Está associada um Botão mas é só fazer as adaptações, e para rolar o Scrowl sem selecionar, use :

Código: Selecionar todos

Private Sub CommandButton2_Click()
    Dim i As Integer
    
    For i = 1 To ListView1.ListItems.Count
        ListView1.ListItems(i).EnsureVisible
        If 9 = ListView1.GetFirstVisible.Index Then Exit For
    Next i
End Sub
Vou colocar a Fonte, mas a mesma já foi postada em outros Tópicos:
FONTE : - http://silkyroad.developpez.com/VBA/ListView/

Quaanto a OCX, não tenho conhecimento, mas assim que tiver algo eu posto.

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 8:57 pm

;) Perfeito Mauro !!! FIcou excelente !!!

O site onde você pegou a referência é ótimo também.


Sobre a .OCX ainda também não encontrei nada, mas se achar também posto aqui.

Abraços


Guilherme

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

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

Re: Controle ListView

Mensagem por Guima » Ter Set 07, 2010 9:31 pm

Mauro e toda turma,

O idioma inglês infelizmente não é o meu forte, pelo pouco que consegui entender achei opiniões divergentes sobre o MSFLEXGRID para o excel, confiram e dêem suas opiniões por gentileza:

http://translate.google.com.br/translat ... 26page%3D1

http://groups.google.com/group/microsof ... h&&d&pli=1


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 » Ter Set 07, 2010 9:32 pm

Com as dicas desse site que o Mauro referenciou é que consegui entender mais sobre o controle.


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.


Responder