Macro para buscar un dato si lo encuentra seleccionar fila, borrarlo y pegarlo en otra hoja

Para DANTE AMOR

Tengo un libro que contiene dos hojas Hoja1, Hoja2. Las hojas son exactamente iguales, lo único que cambian son los títulos pricipales el resto no. Deseo crear una macro para: En la hoja1 deseo escribir el número de cédula de un empleado en un Inputbox; me debe buscar ese número en la hoja1 columna A; a partir de la fila 12. Cuando encuentre la cédula, debe seleccionar la información correspondiente a la cédula (columna A a la AZ) borrarla y pegarla en la hoja2, después de la última fila ocupada y regresar de nuevo a la hoja1. Es para dar de baja personal retirado. En la hoja1 están los Activos; hoja2 Retirados.

1 Respuesta

Respuesta
1

Prueba esta a ver si te silver

Sub BuscarYeliminar()
Cedula= InputBox("Ingrese el Numero de Cedula a Buscar para darle retiro")
  Set h = Sheets("sheet1")
    Set b = h.Columns("A").Find(Cedula)
    If Not b Is Nothing Then
        b.Select
     ActiveCell.EntireRow.Cut
    Sheet2.Select
Range("a10").End(xlUp).Offset(1, 0).Select
    ActiveSheet.Paste
    Else
    MsgBox "no existe este numero de cedula"
    End If
    Sheet1.Select

End Sub

Donde solo deberás cambiar

Sheet1 por el nombre de tu hoja activos

Sheet2 por el nombre de yu hoja de retiro

No olvides valor si te silve para cerrar la pregunta

$$\begin{align}&Saludosss \end{align}$$

¡Gracias! 

Su EXCELENTE colaboración no tiene precio; decir GRACIAS es poco, por el tiempo dedicado a ayudar a las personas con tu CONOCIMIENTO

Funciona perfectamente, pero como elimino la fila para que no me quede en la hoja1 la fila en blanco

Seria así

Sub BuscarYeliminar()
Cedula= InputBox("Ingrese el Numero de Cedula a Buscar para darle retiro")
  Set h = Sheets("sheet1")
    Set b = h.Columns("A").Find(Cedula)
    If Not b Is Nothing Then
        b.Select
     ActiveCell.EntireRow.Cut
    Sheet2.Select
Range("a10").End(xlUp).Offset(1, 0).Select
    ActiveSheet.Paste
    Else
    MsgBox "no existe este numero de cedula"
    End If
    Sheet1.Select

ActiveCell.EntireRow.Delete   ' borrar la fila desde la celda active

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas