Curso Excel VBA y Macros – Cap. 65 – Formularios – Parte 3 Control ListView – Actualizar registros
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
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.