Seguramente no puedas introducir datos en las siguientes columnas porque no son columnas ,son subitems, y se cargan de forma distinta.
El siguiente código te muestra cómo se establecen las principales propiedades del listview al cargarse el formulario y como visualizar datos en sus columnas y subitems.
Private Sub Form_Load()
' Asignar lo valores predeterminados
With ListView1
' Las pruebas serán en modo "detalle"
.View = lvwReport
' al seleccionar un elemento, seleccionar la línea completa
.FullRowSelect = True
' Mostrar las líneas de la cuadrícula
.GridLines = True
' No permitir la edición automática del texto
.LabelEdit = lvwManual
' Permitir múltiple selección
.MultiSelect = True
' Para que al perder el foco,
' se siga viendo el que está seleccionado
.HideSelection = False
End With
' Asignar las cabeceras
With ListView1.ColumnHeaders.Add(, , "Nombre", 1620)
.Tag = cTexto
End With
With ListView1.ColumnHeaders.Add(, , "Fecha", 1110, lvwColumnRight)
.Tag = cFecha
End With
With ListView1.ColumnHeaders.Add(, , "Tamaño", 840, lvwColumnRight)
.Tag = cNumero
End With
With ListView1.ColumnHeaders.Add(, , "Importe", 840, lvwColumnRight)
.Tag = cMoneda
End With
'
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
'
' Añadir algunos datos de prueba
cmdLlenarLvw_Click
End Sub
Private Sub cmdLlenarLvw_Click()
' Asignar algunos datos aleatorios
Randomize
For i = 1 To 10
With ListView1.ListItems.Add(, , "Nombre número " & CStr(i))
' Cada subitem debe corresponder con cada una de las cabeceras
' la segunda cabecera es el Subitems(1) y así sucesivamente
.SubItems(1) = Format$(Now + Int(Rnd * 30) + 1, cFormatoFecha)
' Si quieres probar con números con decimales
'.SubItems(2) = CStr(i * (Rnd * 1500) + i)
' usando el formato de número indicado
.SubItems(2) = Format$(i * Int(Rnd * 1500) + i, cFormatoNumero)
' El formato moneda
.SubItems(3) = Format$((Rnd * 150000 + 1) / 100, cFormatoMoneda)
End With
Next
End Sub
Espero que este código te oriente un poco.