Crear condición para llenar celda en excel

Ayudame con esto que lo tengo que hacer en el mismo archivo
experto otra pregunta que pena con usted apenas aprendo excel tengo dos
celdas y necesito lo siguiente hacer una macro que haga si en la celda
g2 dice femenino que vaya y busque en la celda ab1 si la celda esta
bacía ponga no aplica si la celda tiene datos que no haga nada la deje
asi que solo ponga no aplica si esta bacía.

1 respuesta

Respuesta
1

Quiz´s no esté del todo clara la consulta, porque una macro para devolver un valor en una celda parece algo innecesario cuando eso se puede resolver fácilmente con una función SI colocada en la celda en donde querés el texto:

=SI(Y(G2="femenino";AB1 ="");"NO APLICA"; "")

Es decir que si no cumple estos criterios dejará la celda resultado vacía.

Si de todos modos necesitas una macro debieras aclarar:

- En qué celda se dejará el texto 'No aplica'

- Cuándo se debe ejecutar la macro

- Si la macro se aplicará solo a esas 3 celdas: la de destino, G2 y AB1.

Sdos y quedo a la espera de tus aclaraciones o que finalices si la fórmula es suficiente para resolver el problema.

Hola mi problema es el siguiente tengo dos celdas y necesito lo siguiente si en a1 dice femenino que vaya a b1 y busque si hay datos no haga nada pero si la celda esta bacía que ponga allí no aplica. esa es mi duda

Está bien, entonces necesitas una macro... la pregunta entonces es cómo la vas a ejecutar : llamándola desde algún botón, atajo de teclado, ¿otra macro?

La macro, si es solo para A1 (¿antes no era G2? ) Sería así:

Sub colocaTexto()
'x Elsamatilde
If Range("A1") = "femenino" Then
 If Range("B1") = "" Then Range("B1") = "NO APLICA"
End If
End Sub

Sdos

Elsa

Le explico nuevamente,lo de las celdas es un ejemplo en realidad yo manejo real mente estos datos en d2 y g2 mas adelante te doy el ejemplo,en la celda 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 bacía que ponga no aplica, yo necesito una macro que corra sobre 200 archivos que están abiertos a la vez

ejemplo


d2 g2
femenino madre lactante
femenino no aplica
femenino que aca ponga no aplica

entonces en esta celda bacia que ponga no aplica
no se si con este ejemplo esta mas claro
Gracias por tu ayuda

Le explico nuevamente,lo de las celdas es un ejemplo en realidad yo manejo real mente estos datos en d2 y g2 mas adelante te doy el ejemplo,en la celda 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 bacía que ponga no aplica, yo necesito una macro que corra sobre 200 archivos que están abiertos a la vez


ejemplo


d2 g2
femenino madre lactante
femenino no aplica
femenino que aca ponga no aplica


entonces en esta celda bacía que ponga no aplica no se si con este ejemplo esta mas claro
Gracias por tu ayuda

Bien, estoy suponiendo entonces que no solo hay que controlar D2 sino la col D (el ejemplo muestra 3 filas...)

Entrá al Editor de macros, insertá un módulo y allí copiá esto:

Sub controlaFemina()
'x Elsamatilde
'se recorre la col D de la hoja Activa y se controla la col G
'se recorre desde la fila 2 hasta encontrar una celda vacía, asumiendo fin de rango
Range("D2").Select
While ActiveCell <> ""
'si dice femenino reviso la col G
If UCase(ActiveCell) = "FEMENINO" Then
 If Range("G" & ActiveCell.Row) = "" Then Range("G" & ActiveCell.Row) = "NO APLICA"
End If
'paso a la fila sgte y repito el bucle
ActiveCell.Offset(1, 0).Select
Wend
'opcional:
MsgBox "Fin de la revisión de la hoja activa.", , "FIN"
End Sub

Podes dibujar un botón o establecer un atajo de teclado para ejecutarla. En la sección Macros de mi sitio explico estos temas en detalle.

Esto es para la hoja activa, del libro activo, según tu solicitud original: ...'lo tengo que hacer en el mismo archivo...

Probala y si esto resuelve para una hoja, finalizá la consulta y dejame la otra en el tablón (podés mencionar que es para mí).

ACLARACIÓN: Habrás notado que es muy importante al solicitar una macro, dejar los datos REALES para poder desarrollar algo que funcione. Así que aclará x favor todo lo que puedas con respecto al resto de los libros, en qué hoja u hojas hay que buscar, en qué col, etc. Y así no pierdes tiempo ni nosotros tampoco.

Bien, estoy suponiendo entonces que no solo hay que controlar D2 sino la col D (el ejemplo muestra 3 filas...)

Entrá al Editor de macros, insertá un módulo y allí copiá esto:

Sub controlaFemina()
'x Elsamatilde
'se recorre la col D de la hoja Activa y se controla la col G
'se recorre desde la fila 2 hasta encontrar una celda vacía, asumiendo fin de rango
Range("D2").Select
While ActiveCell <> ""
'si dice femenino reviso la col G
If UCase(ActiveCell) = "FEMENINO" Then
 If Range("G" & ActiveCell.Row) = "" Then Range("G" & ActiveCell.Row) = "NO APLICA"
End If
'paso a la fila sgte y repito el bucle
ActiveCell.Offset(1, 0).Select
Wend
'opcional:
MsgBox "Fin de la revisión de la hoja activa.", , "FIN"
End Sub

Podes dibujar un botón o establecer un atajo de teclado para ejecutarla. En la sección Macros de mi sitio explico estos temas en detalle.

Esto es para la hoja activa, del libro activo, según tu solicitud original: ...'lo tengo que hacer en el mismo archivo...

Pruébala y si esto resuelve para una hoja, finalizá la consulta y dejame la otra en el tablón (podes mencionar que es para mí).

ACLARACIÓN: Habrás notado que es muy importante al solicitar una macro, dejar los datos REALES para poder desarrollar algo que funcione. Así que aclará x favor todo lo que puedas con respecto al resto de los libros, en qué hoja u hojas hay que buscar, en qué col, etc. Y así no pierdes tiempo ni nosotros tampoco.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas