A resposta que achei está abaixo e funciona, porém eu preciso que ela seja feita mais 5 colunas. Alguém sabe como fazer?
https://www.gittprogram.com/question/53 ... -date.html
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
'Dim Item As ListItem 'Item is a reserved word; not a good idea to use as variable
Dim lstItem As ListItem 'Using Prefixes avoids reserved words
Dim arrSplit
If ColumnHeader.Index = 2 Then
For Each lstItem In ListView1.ListItems
'Including the slashes permits the use of Split function further down.
lstItem.SubItems(1) = Format$(lstItem.ListSubItems(1), "yyyy/mm/dd")
Next lstItem
End If
With ListView1
.SortKey = ColumnHeader.Index - 1
.Sorted = True
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
End With
If ColumnHeader.Index = 2 Then
For Each lstItem In ListView1.ListItems
'Split function creates a zero based array irrespective of option base setting
arrSplit = Split(lstItem.SubItems(1), "/")
lstItem.SubItems(1) = Format$(DateSerial(arrSplit(0), arrSplit(1), arrSplit(2)), "dd/mm/yyyy")
Next lstItem
End If
End Sub
Sei que o Mauro está se empenhando para me ajudar... mas enquanto ele fazia a alteração eu achei esta e tb funciona. Eu nao consegui fazer a macro dele funcionar corretamente....não sei onde errei.
Vejam só: além da coluna do subItem(1) tenho a subItem 8,9, 10 e 11.
Aceito sugestões.
Obrigado
Postado : 15/08/2016 10:25 am