Por una condición dar información en excel

Buenas nuevamente, tengo una base de datos en excel la cual me avisa con un texto simple en unas celdas para hacer prorrogas de contratos, pero como es tan amplia la base de datos me gustaría saber si cuando salga este aviso en otra hoja me este poniendo la información de la persona, es decir en la hoja 1 al trabajador Alberto le salio el aviso entonces en la hoja2 tenga otra lista con el nombre de avisados y me vaya saliendo la información según la condición de que el trabajador este avisado, espero respuesta.

1 respuesta

Respuesta
1

¿Cómo te envía excel ese aviso? Con algún formato en la celda, ¿con un mensaje x macro?

Espero tus aclaraciones y según eso decidiré cómo agregarte lo que te está faltando.

Te recuerdo que la consulta sigue abierta (y aún espero tus aclaraciones)... debes finalizarla para poder dejar nuevas en el tablón.

Sdos

Elsa

Si que pena hasta ahora puede consultar, bueno el aviso me lo hace dependiendo que se cumpla un tiempo con un SI me arroja si se cumplió o no es una columna donde me sale esto.

Excel no puede ejecutar un evento ante el cambio de una celda como resultado de fórmula. Entiendo que ese Si se dará como resultado de alguna fórmula o como formato condicional de alguna otra celda.

Entonces lo que necesitas es una macro, que colocaremos en un módulo, y que podrás ejecutarla en cualquier momento (con un botón o atajo de teclado).

(*) Estos temas los tengo desarrollados en la sección macros de mi sitio.

Lo que hará esa macro es recorrer la col y donde aparece Si la copiará en otra hoja.

Entrá al Editor (con Alt+F11), insertá un módulo y allí copiá esto:

Sub avisando()
'x Elsamatilde
'recorre la col C y si el contenido es 'SI', se pasa el registro a hoja2
'previamente se limpia la hoja2 para no repetir registros
Sheets("Hoja2").Cells.Clear
'la variable indica en qué fila se empieza a pegar los avisos
filx = 2
Sheets("Hoja1").Select
'recorre la col A hasta encontrar una celda vacía, fin de rango
Range("A2").Select
While ActiveCell <> ""
If Range("C" & ActiveCell.Row) = "SI" Then
Sheets("Hoja2").Cells(filx, 1) = ActiveCell.Value
filx = filx + 1
End If
'paso a la fila sigte para repetir el bucle de recorrida
ActiveCell.Offset(1, 0).Select
Wend
'opcional: avisar que finalizó el control
MsgBox "El proceso finalizó", , "FIN"
End Sub

Tenés que ajustar los nombres de hoja, el nro de fila (1er dato) de cada hoja, la col A está pensada con el nombre sinó también ajustar.

Cualquier duda para adaptarla a tu libro, x favor indicame tus referencias: nombres de hoja, ubicación de las col, etc, etc.

Sdos

Elsa

http://aplicaexcel.galeon.com/guias.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas