Curso Excel VBA y Macros – Cap. 63 – Formularios – Parte 1 Control ListView – Activar y cargar valores

<<CURSO COMPLETO EN YOUTUBE>>

Con este video tutorial veremos una serie de videos dedicados al Control ListView, el cual es un Control muy flexible que viene a reemplazar de cierta manera al Control ListBox, ya que tiene más opciones a personalizar. Veremos en esta serie:

  • Configurar y activar el Control ActiveX ListView y hacer nuestra primera cara de valores.
  • Agregar registros.
  • Actualizar registros.
  • Baja de registrs.

Ver video Capítulo 63 Excel VBA & Macros

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Activar Referencia al control ListView

El control ActiveX ListView es heredado desde Visual Basic 6. Si tu versión de Windows es de 32 bits ya contarás con el Control. Si tu versión de Windows es de 64 bits debes activar la Referencia a Microsoft Windows Common Controls (SP6), entrando al IDE de VBA y elegir el menú Herramientas > Referencias.

Una vez activada la Referencia, damos clic derecho en el Cuadro de herramientas y elegimos Controles adicionales. Marcamos la opción Microsoft ListView Control, versión 6.0.

No encuentro la referencia a Windows Common Controls (SP6)

En caso de que no encuentres la referencia correcta deberás descargar el control MSCOMCTL.OCX desde el sitio https://www.fmsinc.com/MicrosoftAccess/Controls/mscomctl/ y seguir los pasos de este tutorial.

Cargar valores al control ListView

Tenemos el siguiente rango de valores, los cuales deseamos volcar al Control ListView.

Figura 1. Rangos de celdas en Excel para cargar en ListView.

Insertamos un UserForm en el IDE de VBA e insertamos el Control ListView y una etiqueta Label1. Al mostrar el formulario, éste mostrará los valores de la Hoja1.

Figura 2. Cargar datos a un Control ListView.

Las ventajas del Control ListView, entre otras, tenemos:

  • Podemos mostrar líneas de división.
  • Cargar en encabezados.
  • Cambiar ancho de columnas.
  • Varias vistas para mostrar los valores.
  • Poner un CheckBox junto a cada elemento.
  • La facilidad de elegir varios elementos.

Código VBA del Formulario

Option Explicit

'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo

'Al abrir el formulario
Private Sub UserForm_Initialize()

With Me.ListView1
    .Gridlines = True
    .HideColumnHeaders = False
    .View = lvwReport
    .FullRowSelect = True
    .Appearance = ccFlat
    .CheckBoxes = True
    .MultiSelect = True
End With

Call CargarValoresListView

End Sub

'Cargar valores en ListView
Sub CargarValoresListView()
Dim Rango As Range
Dim Celda As Range
Dim Item As ListItem
Dim Filas As Long
Dim Columnas As Long
Dim i As Long
Dim j As Long

Set Rango = Sheets("Hoja1").Range("A1").CurrentRegion
Filas = Rango.Rows.Count
Columnas = Rango.Columns.Count

With Me.ListView1
    .ColumnHeaders.Add Text:="ID", Width:=50
    .ColumnHeaders.Add Text:="VENDEDOR"
    .ColumnHeaders.Add Text:="SUCURSAL"
    .ColumnHeaders.Add Text:="PRODUCTO"
End With

For i = 2 To Filas
    Set Item = Me.ListView1.ListItems.Add(Text:=Rango(i, 1).Value)
    For j = 2 To Columnas
        Item.ListSubItems.Add Text:=Rango(i, j).Value
    Next j
Next i

Me.Label1.Caption = "Registros: " & Me.ListView1.ListItems.Count

End Sub

Descarga el archivo de ejemplo

063 – Forrmularios Control ListView PARTE 1 – EXCELeINFO.zip

<<CURSO COMPLETO EN YOUTUBE>>

Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

También te podría gustar...