lv.ListItems(i).ForeColor = Color
y dice que el indice esta fuera de limites
'*************************************************
Código:
Sub ForeColorColumn(Color, Columna As Integer, lv As ListView) Dim Item As ListItem Dim i As Integer Dim l As Integer ' verifica que el control tenga item If lv.ListItems.Count = 0 Then Exit Sub ' Verifica que el Listview esté en vista de reporte If lv.View <> lvwReport Then MsgBox "el listview debe estar en vista reporte", vbQuestion Exit Sub End If ' Chequea que el indice de la columna sea valido If (Columna + l) > lv.ColumnHeaders.Count Then MsgBox "El número de columna está fuera del intervalo" Exit Sub End If ' Color de fuente para los items If Columna = 0 Then 'recorre la lista For i = l To lv.ListItems.Count ' cambia el color de la fuente de la columna indicada lv.ListItems(i).ForeColor = Color Next Else 'recorre For i = l To lv.ListItems.Count 'cambia el color de la columna indicada lv.ListItems(i).ListSubItems(Columna).ForeColor = Color Next End If 'Refresca el control lv.Refresh End Sub
Código:
Private Sub Colorear_Columnas() ' Color verde para la columna 1 Call ForeColorColumn(&H8000&, 0, lv) ' Color azul para la columna 2 Call ForeColorColumn(&H8000000D, 1, lv) ' Color rojo para la columna 3 Call ForeColorColumn(vbRed, 2, lv):-) End Sub
alguien me ayuda. desde el load llamo a Colorear_Columnas
