Comparar dato celda y ponerlo

hola experto continuo mejorando la macro con la que me ayudaste el inconveniente que tengo ahora es el siguiente tengo cuando ejecuto la macro debo ahora ejecutar lo siguiente en la misma macro lo siguiente.

en la celda b2 tengo numero de documento y en la celda c2 tengo numero de contrato necesito que en esa celdas siempre este el siguiente valor en a1 siempre 1603845 y en numero de contrato 168, este problema sucede ya que varias personas digitan mal el documento y mal el numero de contrato entonces me toca que corregir el los 100 archivos que tengo uno a uno agrego el código el cual funciona perfectamente me podrías decir donde se pone el código para que se ejecute, la otra pregunta que tengo es tengo la celda d2 enn esta dice femenino o masculino necesito que si dice femenino vaya y revise la celda F2 si hay datos la deje asi pero si esta bacía que ponga no aplica. Gracias anexo el código que funciona.

Sub
varias()
'Por.DAM
Set l1 = ThisWorkbook.ActiveSheet
ml = ThisWorkbook.Name
For Each wb In Workbooks
If wb.Name <> ml Then
wb.Activate
Columns("CT:CT").Delete Shift:=xlToLeft
ActiveSheet.Cells.Replace "NIETO(A)", "NIETO (A)"
ActiveSheet.Cells.Replace "HERMANO(A)", "HERMANO (A)"
ActiveSheet.Cells.Replace "SOBRINO(A)", "SOBRINO (A)"
ActiveSheet.Cells.Replace "PRIMO(A)", "PRIMO (A)"
ActiveSheet.Cells.Replace "HIJO(A)", "HIJO (A)"
ActiveSheet.Cells.Replace "ABUELO(A)", "ABUELO (A)"
ActiveSheet.Cells.Replace "SUEGRO(A)", "SUEGRO (A)"
ActiveSheet.Cells.Replace "CUÑADO(A)", "CUÑADO (A)"
l1.Range("A1:CS1").Copy
wb.ActiveSheet.Range("A1")
wb.Sabe
End If
Next
l1.Activate
End Sub

1 Respuesta

Respuesta
1

1. Esta parte no la entiendo :

"en la celda b2 tengo numero de documento y en la celda c2 tengo numero de contrato necesito que en esa celdas siempre este el siguiente valor en a1 siempre 1603845 y en numero de contrato 168"

Puedes aclararlo, porque dices: "en la celda b2 tengo numero de documento" y luego dices

"en a1 siempre 1603845 ".

Simplemente pon lo que quieres.:

En B2 = nnn

En C2 = mmm

2. Te anexo el código para lo de femenino.

Sub varias()
'Por.DAM
Set l1 = ThisWorkbook.ActiveSheet
ml = ThisWorkbook.Name
For Each wb In Workbooks
    If wb.Name <> ml Then
        wb.Activate
        Columns("CT:CT").Delete Shift:=xlToLeft
        ActiveSheet. Cells. Replace "NIETO(A)", "NIETO (A)"
        ActiveSheet. Cells. Replace "HERMANO(A)", "HERMANO (A)"
        ActiveSheet. Cells. Replace "SOBRINO(A)", "SOBRINO (A)"
        ActiveSheet. Cells. Replace "PRIMO(A)", "PRIMO (A)"
        ActiveSheet. Cells. Replace "HIJO(A)", "HIJO (A)"
        ActiveSheet. Cells. Replace "ABUELO(A)", "ABUELO (A)"
        ActiveSheet. Cells. Replace "SUEGRO(A)", "SUEGRO (A)"
        ActiveSheet. Cells. Replace "CUÑADO(A)", "CUÑADO (A)"
        L1. Range("A1:CS1"). Copy wb. ActiveSheet. Range("A1")
        If Range("D2") = "femenino" And Range("F2") = "" Then _
            Range("F2") = "no aplica"
        wb.Save
    End If
Next
l1.Activate
End Sub

Saludos.DAM

Le explico nuevamente, en la celda b2 siempre debe de ir el numero de documento 1603845 ya que en los 100 archivos está mal este numero entonces siempre debe de ir este numero allí, en la celda c2 siempre debe de ir el numero 168 pasa lo mismo en algunos archivos esta mal copiado aparece con otro numero por ejemplo 256 o 520 entonces necesito eso, por otra parte vuelvo a explicar lo de femenino en otra celda por ejemplo en d2 tengo femenino y masculino cualquiera de estos dos datos sea uno o otro pero mi macro debe ir referenciada en femenino asi: si en la celda d2 encuentra femenino que vaya a g2 y verifique si hay datos en al celda lo deja asi sino no hay datos o sea celda basia que ponga no aplica ejemplo

d2 g2

femenino madre lactante

femenino no aplica

femenino

entonces en esta celda basia que ponga no aplica

la macro que pusiste me saca error en la parte de femenino

Gracias por tu ayuda

Te anexo la macro, a mí me funciona bien. Si te envía un error, apunta el mensaje de error, luego presiona el botón depurar y me dices qué fila de la macro se pone de amarillo.

Sub varias()
'Por.DAM
Set l1 = ThisWorkbook.ActiveSheet
ml = ThisWorkbook.Name
For Each wb In Workbooks
    If wb.Name <> ml Then
        wb.Activate
        Columns("CT:CT").Delete Shift:=xlToLeft
        ActiveSheet. Cells. Replace "NIETO(A)", "NIETO (A)"
        ActiveSheet. Cells. Replace "HERMANO(A)", "HERMANO (A)"
        ActiveSheet. Cells. Replace "SOBRINO(A)", "SOBRINO (A)"
        ActiveSheet. Cells. Replace "PRIMO(A)", "PRIMO (A)"
        ActiveSheet. Cells. Replace "HIJO(A)", "HIJO (A)"
        ActiveSheet. Cells. Replace "ABUELO(A)", "ABUELO (A)"
        ActiveSheet. Cells. Replace "SUEGRO(A)", "SUEGRO (A)"
        ActiveSheet. Cells. Replace "CUÑADO(A)", "CUÑADO (A)"
        L1. Range("A1:CS1"). Copy wb. ActiveSheet. Range("A1")
        Range("B2") = 1603845
        Range("C2") = 168
        If UCase(Range("D2")) = "FEMENINO" And Range("G2") = "" Then _
            Range("G2") = "no aplica"
        wb.Save
    End If
Next
l1.Activate
End Sub

Saludos.DAM
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas