CHAMAR CÓDIGO POR FUN?ÃO

JORGESALES 17/05/2016 07:56:07
#462168
Pessoal, eu gostaria de colocar a função abaixo em um módulo ou modulo de
classe (o que for mais didático) para chamar em todas as listviews.
Este é o código na listview:
Private Sub lstOperacoes_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
With lstOperacoes
If (.Sorted) And (ColumnHeader.SubItemIndex = .SortKey) Then
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
Else
.Sorted = True
.SortKey = ColumnHeader.SubItemIndex
.SortOrder = lvwAscending
End If
.Refresh
If Not .SelectedItem Is Nothing Then
.SelectedItem.EnsureVisible
End If
End With
End Sub

No modulo mudaria o título e entraria a lst como como listview:
  Sub OrdenarColuna(ByVal ColumnHeader As MSComctlLib.ColumnHeader, lst as Listview) 

Em teoria a função seria chama assim:
  OrdenarColuna lstClientes.ColumnHeaders,lstClientes 

Mas dá a mensagem de tipos incopativeis.
Tentei colocar como [txt-color=#0000f0]Function[/txt-color] mas o erro é o mesmo
GANDA.NICK 17/05/2016 09:10:37
#462172
Resposta escolhida
MSComctlLib.ColumnHeader é uma collection, então vc tem que passar o index da coluna ou a key..

ficaria assim:

OrdenarColuna lstClientes.ColumnHeaders(1), lstClientes 


ou

OrdenarColuna lstClientes.ColumnHeaders([Ô]nome[Ô]), lstClientes 
JORGESALES 17/05/2016 11:26:13
#462176
Ganda, acho que dessa forma não será feito para qualquer coluna clicada
uma vez que teria que informar.
GANDA.NICK 17/05/2016 12:32:47
#462181
Nem vi direito...sorry... Pode passar logo a coluna então....

Private Sub lstOperacoes_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
OrdenarColuna ColumnHeader, lstClientes
End Sub


ou o index da coluna:

Private Sub lstOperacoes_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
OrdenarColuna lstClientes.ColumnHeaders(ColumnHeader.Index), lstClientes
End Sub


EDIT: COLOQUE OS NOME CORRETOS DAS LISTVIEWS
JORGESALES 18/05/2016 10:48:00
#462208
Ganda, muito obrigado, minha inteção é cada vez mais reduzir
linhas em meu projeto, você ajudou muito
Tópico encerrado , respostas não são mais permitidas