Impedir la ejecución de código si no se han hecho modificaciones en un registro presentado por un Listbox.

En un UserForm he dispuesto tres tipos de elementos:

         1.  Listbox (‘Listbox1’).

         2. Varios Textbox (‘Txtbox1’, ‘Textbox2’ y ‘Textbox3’)

3. Un botón de comando ‘Modificar’.

Al seleccionar un elemento del Listbox por código lleno con los datos respectivos de un registro determinado de la BD los Textbox, pudiendo ir a uno cualquiera de ellos, modificar su contenido y después, haciendo clic en el botón de comando de Modificar, modificarlo y modificar en suma el ‘registro’ del que trae causa el Listbox.

¿Qué tendría que hacer para IMPEDIR que se ejecute el código asociado al evento clic del botón de comando de Modificar para que, si no ha habido ninguna modificación en ninguno de los Textbox del UserForm, y sí simplemente se me muestre un Msgbox tipo: “No se ha hecho modificación alguna.”?

1 Respuesta

Respuesta
1

Visita:

Cursos de Excel y Macros

Por Dante Amor

----- --

Si todavía tienes seleccionado el item en el listbox, entonces puedes comparar cada textbox con su respectiva columna del listbox, algo como esto:

Private Sub CommandButton1_Click()
  'validación
  With ListBox1
    If TextBox1.Value = .List(.ListIndex, 0) And _
       TextBox2.Value = .List(.ListIndex, 1) And _
       TextBox3.Value = .List(.ListIndex, 2) Then
       MsgBox "No se ha hecho modificación alguna."
       Exit Sub
    End If
  End With
  'Continuar con tu código
  '...
End Sub

----- --

Recomendaciones:

https://youtu.be/PupmVvM16-8 

https://youtu.be/dy9w9zbkCaw 

----- --

https://youtu.be/4klJVh_Ob0M 

Sal u dos Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas