Copiar fila si cumple condición.

Me pregunto si puedes ayudarme. Necesito una macro en la cual puede hacer esto.
Tengo unas columnas en la hoja registro.
Nombre--Edad--Sexo -Record
Roger     18      M         si 
edgar       21    M        No 
Yose       15     F         Si 
En caso de que cumpla la condición de que la columna Record tenga Si, la fila completa se copie en otra hoja llamada Base de datos.y pues siempre copie en la fila siguiente de la hoja Base de datos.
De antemano muchas gracias.
Y buena tarde.Me pregunto si puedes ayudarme. Necesito una macro en la cual puede hacer esto.
Tengo unas columnas en la hoja registro.
Nombre--Edad--Sexo -Record
Roger     18      M         si 
edgar       21    M        No 
Yose       15     F         Si 
En caso de que cumpla la condición de que la columna Record tenga Si, la fila completa se copie en otra hoja llamada Base de datos.y pues siempre copie en la fila siguiente de la hoja Base de datos.
De antemano muchas gracias.
Y buena tarde.
Respuesta
1
Bueno creo que ya resolví lo que me solicitas, para que le funcione debe tener en cuenta unas cosas:
1. En la columna récord, el "si" debe aparecer siempre en mayúscula SI
2. Siempre que vaya a ejecutar la macro se debe parar en la celda SI, para que la macro pueda evaluar la condición que se debe cumplir para ser copiado ese registro en la base de datos, de lo contrario saldrá un msg informando que no se puede copiar ese registro.
Bueno a continuación pego el código que he utilizado en la macro, para su interés o de otras personas que visiten mi perfil:
Sub guardar()
Application.ScreenUpdating = False
If (ActiveCell.Value = "SI") Then
    Range(Selection, Selection.End(xlToLeft)).Select
    Selection.Copy
    Sheets("Base_de_Datos").Select
    Range("B2").Select
    Do While Not IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
    Loop
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Sheets("Base_de_Datos").Select
    Range("B2").Select
    Sheets("Registro").Select
    Range("A2").Select
        Else
        If (ActiveCell.Value <> "SI") Then
        MsgBox "ESTE REGISTRO NO SE PUEDE AGREGAR A LA BASE DE DATOS, DEBIDO A QUE NO CUMPLE CON LOS CRITERIOS", vbInformation + vbOKOnly, "ALERTA"
        End If
End If
Application.ScreenUpdating = True
End Sub
Espero que le funcione a la perfección, yo la probé y a mi me funciono, NO OLVIDAR PUNTUAR Y FINALIZAR LA PREGUNTA EN TODO EXPERTOS!, recuerde que cualquier inquietud me puede consultar en mi perfil en todoexpertos, que tengas un feliz día!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas