Página 6 de 8
Re: Controle ListView
Enviado: Ter Set 07, 2010 1:12 pm
por joseA
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 1:24 pm
por joseA
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 1:28 pm
por Mauro Coutinho
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 1:31 pm
por Guima
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 1:57 pm
por joseA
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.
Fiquei orgulhoso por ter salvo mais alguns..
Abraços a todos. Especialmente a vc, Mauro e Tomás, parceiros nessa empreitada.
Re: Controle ListView
Enviado: Ter Set 07, 2010 8:18 pm
por Guima
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 8:41 pm
por Mauro Coutinho
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 8:57 pm
por Guima
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 9:31 pm
por Guima
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
Re: Controle ListView
Enviado: Ter Set 07, 2010 9:32 pm
por joseA
Com as dicas desse site que o Mauro referenciou é que consegui entender mais sobre o controle.