Curso Excel VBA y Macros – Cap. 65 – Formularios – Parte 3 Control ListView – Actualizar registros

<<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 de macros en Excel:

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

Ver video Capítulo 65 Excel VBA & Macros

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

Agregar botón Actualizar

Seguiremos usando el Formulario del video anterior y ahora insertaremos un botón llamado Actualizar, el cual se activará al momento de elegir un elemento en el ListView, además de pasar los valores del elemento elegido a los Cuadro de texto o TextBox de la parte superior.

Figura 1. UserForm con Control ListView en Excel VBA.

Evento Click del ListView y pasar valores a TextBoxes

Deseamos actualizar los valores de los elementos del ListView, y para eso necesitamos mostrar cada uno de los campos en los TextBoxes. Usaremos el evento Click para que al momento de elegir un elemento, se pasen los valores y podamos modificarlos.

Se añadió un nuevo botón llamado Actualizar que tendrá una macro que detectará el ID seleccionado y modificará los valores del rango en base a los TextBoxes.

Código VBA del evento Click del ListView y el botón Actualizar

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

Private Sub ListView1_Click()
Call HabilitarTextos
Call PasarATextBox
Me.CommandButton3.Enabled = True

End Sub

Sub PasarATextBox()
With Me.ListView1
    Me.TextBox1.Value = .SelectedItem
    Me.TextBox2.Value = .SelectedItem.SubItems(1)
    Me.TextBox3.Value = .SelectedItem.SubItems(2)
    Me.TextBox4.Value = .SelectedItem.SubItems(3)
End With

Me.CommandButton2.Enabled = False

End Sub

'ACTUALIZAR
Private Sub CommandButton3_Click()
Dim Rango As Range
Dim FilaEncontrada As Long
Dim Valor As Long

Set Rango = ThisWorkbook.Sheets("Hoja1").Range("A1").CurrentRegion
Valor = Me.ListView1.SelectedItem

FilaEncontrada = Rango.Find(What:=Valor, LookAt:=xlWhole).Row

'MsgBox FilaEncontrada

With Rango
    .Cells(FilaEncontrada, 2).Value = Me.TextBox2.Value
    .Cells(FilaEncontrada, 3).Value = Me.TextBox3.Value
    .Cells(FilaEncontrada, 4).Value = Me.TextBox4.Value
End With

Call UserForm_Initialize

End Sub

Descarga el archivo de ejemplo

065 – Forrmularios Control ListView PARTE 3 – 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.

You may also like...