Remplazar registro

Saludos a todos. Tengo la siguiente macro que va llenando un base de datos
Sub Copiar_datos()
Application.ScreenUpdating = False
On Error Resume Next
Call ultima_vacia
Sheets("datos").Activate
Range("B2:B14").Select
Selection.Copy
Sheets("base de datos rend").Activate
With Selection
.PasteSpecial Paste:=xlValues, Transpose:=True
End With
Range("A2").Select
'***
Sheets("datos").Activate
Application.CutCopyMode = False
MsgBox "Datos Copiados"
Sheets("planilla rend").Activate
Application.ScreenUpdating = True
End Sub
Sub ultima_vacia()
On Error Resume Next
Sheets("base de datos rend").Select 'selecciona la Hoja 2
Range("A1").Select 'el control se hará sobre la columna A, a partir de la fila
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select 'si la celda contiene datos, pasa a la fila siguiente
Wend
fila1 = ActiveCell.Row 'guarda en la variable fila1 el número de la primer fila sin datos.
End Sub
Estas macros trabajan bien, pero mi pregunta es: ¿Qué linea de código debo utilizar para infórmale al usuario que el código en dicha base de datos ya exite y si desea remplazarlo o no?
Gracias de antemano. Saludos

2 Respuestas

Respuesta
1
Podrías verificar que la celda destino, tiene información y después pedir confirmación msgbox.
Si me das más datos te puedo orientar
Suerte!
XDuende
Respuesta
1
dim codigo as string
Application.ScreenUpdating = False 'Ejecuta las instrucciones de la macro
'sin mostrarle los pasos al usuario.
Range("A:A").Select 'selecciona la columna que contiene los codigos
Set celda = Selection.Find(codigo)
If Not celda Is Nothing Then 'si encuentra el codigo:
asdasd = MsgBox("El codigo ya existe, desea reemplazar...", vbYesNoCancel, "Titulo")
If asdasd = vbYes Then
Celda. Select 'selecciona la celda donde esta el codigo buscado
'--------------
'REEMPLAZAR
'--------------
Else
'cancela Y vUELVE al inicio
Range("a1").Select
End If
Else
' Sino encuentra el código se va a la primer celda vacía, el code que tienes
Range("A1"). Select 'el control se hará sobre la columna A, a partir de la fila
While ActiveCell.Value <> ""
ActiveCell. Offset(1, 0). Select 'si la celda contiene datos, pasa a la fila siguiente
Wend
'---------------
'ingresar datos del código nuevo
'---------------
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas