Está en la página 1de 2

Sub Reemplazar()

Set h1 = Sheets("principal") 'Cambiar "principal" por la hoja que contenga el n° de registro que se desee reemplazar
Set h2 = Sheets("registros") 'Cambiar "registros" por la hoja que contenga la base de datos donde se encuentre el
registro que se desea reemplazar

cf = MsgBox("Desea reemplazar el registro?", vbInformation + vbYesNo, "AVISO") 'Mensaje


If cf = vbYes Then

'Estas cuatros líneas seguidas son para que la macro se detenga si falta información en la celda especificada
If h1.[D11] = "" Then 'Cambiar [D11] por la celda que contenga el n° de registro que se quiere reemplazar
MsgBox "Colocar número de registro" 'Mensaje que se muestra si la celda B2 está vacía
Exit Sub
End If
'
If h1.[D12] = "" Then 'Cambiar [D12] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D12" 'Mensaje que se muestra si la celda D12 está vacía
Exit Sub
End If
'
If h1.[D13] = "" Then 'Cambiar [D13] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D13" 'Mensaje que se muestra si la celda D13 está vacía
Exit Sub
End If
'
If h1.[D14] = "" Then 'Cambiar [D14] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D14" 'Mensaje que se muestra si la celda D14 está vacía
Exit Sub
End If
'
If h1.[D15] = "" Then 'Cambiar [D15] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D15" 'Mensaje que se muestra si la celda D15 está vacía
Exit Sub
End If
'
If h1.[D16] = "" Then 'Cambiar [D16] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D16" 'Mensaje que se muestra si la celda D16 está vacía
Exit Sub
End If
'
If h1.[D17] = "" Then 'Cambiar [D17] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D17" 'Mensaje que se muestra si la celda D17 está vacía
Exit Sub
End If
'
If h1.[D18] = "" Then 'Cambiar [D18] por la siguiente celda que se desee reemplazar
MsgBox "Falta información en la celda D18" 'Mensaje que se muestra si la celda D18 está vacía
Exit Sub
End If

'
Set r = h2.Columns("B") 'Cambiar "B" por la columna donde se encuentra el n° de registro a reemplazar en la base
de datos
Set b = r.Find(h1.[D11], lookat:=xlWhole) 'Cambiar [D11] por la celda donde esta el n° de registro que se desea
reemplazar
If Not b Is Nothing Then 'Cambiar B por la columna donde están los datos que se desean reemplazar

h2.Cells(b.Row, "C") = h1.[D12] 'Cambiar C por la columna donde están los datos que se desea reemplazar con
los datos de la hoja "Principal". Cambiar [D12] por la celda seguida del n° de registro en la hoja "Principal" que se
desea reemplazar
h2.Cells(b.Row, "D") = h1.[D13]
h2.Cells(b.Row, "E") = h1.[D14]
h2.Cells(b.Row, "F") = h1.[D15]
h2.Cells(b.Row, "G") = h1.[D16]
h2.Cells(b.Row, "H") = h1.[D17]
h2.Cells(b.Row, "I") = h1.[D18]

MsgBox "Se ha reemplazado con éxito", vbInformation 'Mensaje


Else
MsgBox "El código no existe", vbInformation 'Mensaje
Exit Sub
End If
'A continuación colocar la macro limpiar

'Continúa la macro
End If
End Sub

También podría gustarte