Requiero una MACRO para Modificar y Eliminar REGISTROS en Hoja Oculta

Ojalá mi descripción deje entender muy bien lo que requiero.

Tengo un archivo en excel en donde registro los datos de mis clientes en la Hoja # 1. Después de registrar mis clientes doy click en una macro para que esos datos los almacene en una Hoja # 2 (Oculta). Hasta ahi mi archivo funciona bien. El hace visible la Hoja # 2, registra los NUEVOS DATOS y vuelve a ocultar la Hoja # 2 y me situa de nuevo en la Hoja # 1 para ingresar nuevos datos de otro cliente. 

Cuando hice ese archivo no tenia problema pero hoy en dia sí dado a que ANTERIORES clientes que tengo ya registrados en la base, han cambiado algunos datos personales y requiero por lo tanto MODIFICARLOS. 

Lo que yo quisiera ahora es UNA MACRO que me pida el numero de identificacion de UN CLIENTE (ID) y luego me de la opción de MODIFICAR algunos de los datos de ese cliente pues algunos ya estan desactualizados.

Por ejemplo:

Id: 91479620

Nombres y Apellidos: MIGUEL ANAYA

Dirección: Chile

Ese cliente depronto ya no vive en Chile y hay que actualizar su direccion, por lo tanto que me diera la posibilidad de modificar ese dato para que mi BASE DE DATOS quede nuevamente actualizada.

Gracias.

2 Respuestas

Respuesta
1

Excelente eres un super DURO

Respuesta
1

Te preparé un par de macros, la primera pare que captures un ID y busque los datos de ese ID y los puedas modificar; la segunda, para una vez que hiciste las modificaciones se actualicen los datos en la hoja #2.

Sub buscar()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    Set h3 = Sheets("modificaciones")
    h3.[B5:D5].ClearContents
    '
    If h3.[A2] = "" Then
        MsgBox "Captura el ID en la celda A2", vbExclamation
        [A2].Select
        Exit Sub
    End If
    '
    Set b = h2.Columns("A").Find(h3.[A2], lookat:=xlWhole)
    If Not b Is Nothing Then
        h3.[B5] = h2.Cells(b.Row, "B")
        h3.[C5] = h2.Cells(b.Row, "C")
        h3.[D5] = h2.Cells(b.Row, "D")
    Else
        MsgBox "El número de ID no existe", vbExclamation
        [A2].Select
    End If
End Sub
Sub modificar()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    Set h3 = Sheets("modificaciones")
    '
    If h3.[A2] = "" Then
        MsgBox "Captura el ID en la celda A2", vbExclamation
        [A2].Select
        Exit Sub
    End If
    '
    Set b = h2.Columns("A").Find(h3.[A2], lookat:=xlWhole)
    If Not b Is Nothing Then
        h2.Cells(b.Row, "B") = h3.[B5]
        h2.Cells(b.Row, "C") = h3.[C5]
        h2.Cells(b.Row, "D") = h3.[D5]
    Else
        MsgBox "El número de ID no existe", vbExclamation
        [A2].Select
    End If
    MsgBox "Número de ID actualizado exitosamente", vbInformation
End Sub

Faltó que comentaras cuál es el nombre de las hojas, en qué columna está el ID, en cuáles columnas están los otro datos que quieres modificar. 

En las macros estoy considerando el siguiente orden:

Lo que necesitamos es una nueva hoja para que pongas el ID lo busques en la hoja2 y te ponga los datos en ciertas celdas; después, deberás capturar los nuevos datos y presionar un segundo botón para que la macro realice la actualización en el Id correspondiente, para esa nueva creé la hoja llamada "modificaciones", para lo cual creé la siguiente estructura:

Los nuevos datos deberás ponerlos en las celdas B5, C5 y D5, presionar el botón Modificar para que se actualicen en el ID correspondiente.

Te anexo mi archivo para que veas el funcionamiento. Click en el siguiente enlace:

Archivo con ejemplo

NOTA: Para una hoja oculta, para utilizarla no es necesario mostrarla y volverla a ocultar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas