Pessoal, boa tarde!
Solicito o apoio de vocês no sentido de ajudarem-me a fazer com que a listview apresente os números em percentual.
Vejam o código que eu utilizo para carregá-la:
Sub PreencherListView()
Dim lastRow As Long
Dim li As ListItem
Dim X As Long
'limpar
lslista.ListItems.Clear
lastRow = Plan2.Cells(Plan2.Cells.Rows.Count, "a").End(xlUp).ROW
' Adiciona itens
For X = 2 To lastRow
Set li = lslista.ListItems.Add(Text:=Format(Plan2.Cells(X, "a").Value, "00"))
li.ListSubItems.Add Text:=Plan2.Cells(X, "b").Value
li.ListSubItems.Add Text:=Plan2.Cells(X, "c").Value
li.ListSubItems.Add Text:=Plan2.Cells(X, "d").Value
li.ListSubItems.Add Text:=Plan2.Cells(X, "e").Value
Next
End Sub
Não sei em qual coluna quer a formatação, então segue duas linhas basicas:
Se for nesta:
Set li = lslista.ListItems.Add(Text:=Format(Plan2.Cells(X, "a").Value, "00"))
Ficaria:
Set li = lslista.ListItems.Add(Text:=Format(Plan2.Cells(x, "a").Value, "0%"))
Se for em algumas destas :
li.ListSubItems.Add Text:=Plan2.Cells(X, "b").Value
ficaria :
li.ListSubItems.Add Text:=Format(Plan2.Cells(x, "b").Value, "0%")
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Mauro,
Confesso que utilizei esta opção antes de postar este tópico, mas, não sei por qual motivo, a mesma não solucionou o meu problema.
=/
Mauro,
Confesso que utilizei esta opção antes de postar este tópico, mas, não sei por qual motivo, a mesma não solucionou o meu problema.
=/
Lorenzon, a formatação é esta, se não funcionou verifique que tipo de dados está em sua planilha, veja se realmente está como numerico.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Mauro,
Fiz o que você sugestionou, mas o problema persistiu.
Os números em percentuais são apresentados, por exemplo, deste modo:
83%
0,83656854548745485748748545454665
Lorenzon, você quer dizer que não funcionou ou não está formatando da forma que pretende ?
Para poder analisar melhor, só vendo o seu modelo, fora isto vamos ficar em suposições.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Mauro,
Desculpa-me pela minha ''burrice" kkk
eu esqueci de chamar o código no initialize.
O mesmo funcionou perfeitamente!
vlw!
Prezados (as), boa tarde!
Com o auxílio do Mauro, obtive êxito na formatação, em percentual, de uma das colunas da listview. Vejam o tópico:
O que acontece é que, agora, eu possuo um código diferente ao que apresentei no tópico acima. O exemplo do Mauro não foi compatível e/ou eu não tive a capacidade de adaptá-lo para esta nova necessidade.
Desde modo, solicito o apoio de vocês no sentido de ajudarem-me a formatar, na listview, os dados oriundos da coluna P do sheets ("Banco de dados"), utilizando o código abaixo:
Private Sub PreencherCabeçalhoLinhas()
Dim ws As Worksheet
Dim coluna As Integer
Dim linha As Integer
Dim itm As ListItem, n As Long, lngCol As Long
Dim vardata As Variant
Call atualizar
Set ws = ThisWorkbook.Worksheets(NomeDaPlanilha)
coluna = 1
linha = LinhaCabecalho
Me.lslista.ListItems.Clear
Me.lslista.ColumnHeaders.Clear
vardata = ws.Range("b1").CurrentRegion.Value
With ws
While .Cells(linha, coluna).Value <> Empty
With lslista
.View = lvwReport
.Gridlines = True
.ColumnHeaders.Add Text:=ws.Cells(linha, coluna), Width:=ws.Cells(linha, coluna).Width
End With
coluna = coluna + 1
Wend
'Preenche as Linhas
With lslista
For n = 2 To UBound(vardata)
Set itm = .ListItems.Add(n - 1, , vardata(n, 1))
For lngCol = 2 To UBound(vardata, 2)
'verifica se é Data e formata a Coluna
If IsDate(vardata(n, lngCol)) Then
itm.ListSubItems.Add , , vardata(n, lngCol)
' itm.ListSubItems.Add , , Format(vardata(n, lngCol), "R$ #,##0.00")
Else
itm.ListSubItems.Add , , vardata(n, lngCol)
End If
Next lngCol
Next n
End With
End With
End Sub