Home > Foro de Excel >

Debates de Excel > Carta Gantt, fijando fecha

Grupo de Excel
Foro de Excel
18156 Debates | 2013 Documentos | 1 Vídeo | 1 Test | 1 Blog | 675 Imágenes | 16725 Miembros

Carta Gantt, fijando fecha

Escrito por German Perey el 29 de Octubre

Hola Oscar,
Intento reparar una planilla de excel que me permita fijar la fecha actual (sin variar luego en el tiempo) cuando la " actividad está finalizada " (la cual aparece en la columna N)...
Pese a que he buscado ayuda en los foros, no he conseguido que alguien me pueda solucionar en corregir el error que mi planilla presenta.

Subí el archivo, apodado "CartaGantt2 GermanPerey"

Y el link es: http://grupos.emagister.com/documento/carta_gantt2_german_perey/6610-316407

Me puedes orientar en saber dónde puedo buscar esta información o a quién puedo recurrir?
De antemano, muchísimas gracias.


Ver mensaje      

Alejandro Federico
Estado de México, Mé...
Escrito por Alejandro Federico el 29 de Octubre

Hola German, me gustaria que empezaramos a analizar el archivo y tratar de resolverlo. De entrada tu archivo tiene un error de referencia circular en las celdas de la columna N, no necesariamente la referencia circular es un error pero casi el 99% si se trata de un error. La referencia circular no se ve en tu hoja porque tienes activada la opcion iteraciones del menu Herramientas>Opciones>Ficha Calcular a 700, por favor desactiva esta casilla iteracion.

Verifica por favor si la referencia circular es correcta la de las celdas de la columna N.

Ahora bien, si tienes una columna en donde anotas la fecha final manualmente, entonces podemos cambiar la funcion Hoy() por la direccion de celda en donde se anota la fecha final manualmente.

Empecemos con esto y veamos si funciona.

Saludos.


Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 29 de Octubre

Hola amigos.

Bueno, viendo el dilema me parece que la solucion mas sana seria usar macros mas que las formulas que tratan de fija las fechas/horas a traves de las iteraciones.

Veo en el archivo ya un primer intento de usarlas, asi que considero, dado que aparentemente no seria mas de 7 u 8 minutos para desarrollar, seria interesante que German nos de un poquito mas de detalles de que debe aparecer y en que columna al usar alguna de las opciones de las listas desplegables

Abraham


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 29 de Octubre

Hola Alejandro y Abraham,

Les cuento más detalles al respecto....... La idea que apunta la planilla es poder planificar tareas (o bien actividades) con un inicio y un término, por lo tanto he creido conveniente que la extension de cada actividad se debe ajustar en base a nª de días, (para que en caso alguna actividad no cumpla con el plazo parametrizado, genere una nueva fecha de término, expresada en la columna L, en base al porcentaje restante de días que permitan finalizar la actividad) y así, al modificar esta nueva fecha de término, me mueva (o bien modifique) las fechas de inicio de todas aquellas actividades que derivan de ésta actividad con posterioridad (lo cual figura en la columna G y H, respectivamente).

Hasta el momento, la planilla cumple con todo lo que he ido parametrizando, que se ve reflejado la hoja de "Carta Gantt" (donde mediante la opción de Formato Condicional yo evaluo entre fechas y me marca la extensión parametrizada de un color morado, y las actividades que se encuentran morosas a la fecha con un color celeste). El problema que hasta ahora se me ha presentado es que al finalizar cualquiera de las actividades morosas, automáticamente me retomaba nuevamente la fecha final que fue parametrizada en un principio (columna J) y por ende, me modificaba también todas las siguientes actividades relacionadas (iniciandose en base al final de esta actividad). Por este motivo, creí conveniente crear una nueva columna (columna N) que conserva (de manera oculta) el mismo final de la columna L, con excepción a cuando se finaliza la actividad donde deberá tomar la fecha de HOY como término (dejandola después fija, para que no varie en el tiempo). Creo que el problema se presenta en la fórmula aplicada, si bien realiza todos los cambios requeridos, pero no fija la fecha y sigue variando diariamente....

Espero que mi explicación ayude a comprender de mejor forma cual ha sido el criterio empleado en el diseño del archivo.

Muchas gracias a ambos de antemano


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 29 de Octubre

Hola Alejandro,

Prove aplicando las instrucciones que me indicaste (quitando la iteración) pero no funciono. Luego fui a Herramientas/ Personalizar/ Barras de Herramientas y desmarque la opción de Referencia Circular , y tampoco causó efecto o solución al problema.
Favor, si sabes de alguna otra alternativa que yo pueda aplicar y resuelva este problema, me sería de enorme ayuda.


Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 29 de Octubre

¿¿ ?

y yendo al grano, que datos son los que cambias? La columna K con los deplegableS? Y al cambiar y obtener cual de todas las opciones deberia pasar que?

Abraham


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 29 de Octubre

Lo único que deseo generar, es que al seleccionar la opción "Finalizada" (en la columna K), me fije la fecha (HOY) de cuando seleccioné esa opción (en la columna N), y se conserve invariable en el tiempo.


Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 29 de Octubre

Coloca esto en el modulo de la hoja. OJO, en el de la hoja, no en otro:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("K3:K492")) Is Nothing Then
If Target = "Finalizada" Then
Target. Offset(0, 3) = Date
End If
End If
End Sub

Abraham


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 29 de Octubre

Disculpa Abraham, no me quedo claro en qué hoja o bien, en qué parte de la hoja específicamente..... Lo que me indicas me suena al menu de Alt F11 o me equivoco?


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 29 de Octubre

Reemplace el código anterior por el que me indicas, y sigue igual la planilla sin presentar mejoras :(
Será posible que pudieras aplicarlo a la planilla y la subas!


Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 29 de Octubre

Cuando abres el editor de VBA, hacia la izquierda esta el arbol del proyecto, en el hay varios modulos, dale doble click al de tu hoja "actividades", en la parte blanca que aparecera hacia tu derecha, pega el codigo que he enviado. Ese es el modulo d ela hoja, por eso mi OJO anterior, tu tienes todo en el modulo del libro ("Thisworkbook", nombre por defecto)

Abraham


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 29 de Octubre

Abraham, muchiiiisimas gracias.... Ahora funciona perfecto.
Solamente me queda una sola consulta. Si una vez modificada la columna N luego de seleccionar "Finalizada", será posible que esta celda (columna K) quede invalidada de volver a ser modificada por un usuario..... Vale decir, que si un usuario selecciona la opción "Finalizada" en la columna K quede esa celda bloqueada (cuando dejo protegida la planilla).
De ante mano te agradezco infinitamente la solución que me proporcionaste.


Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 29 de Octubre

Tendrias que tener la hoja siempre protegida. Obviamente todas las celdas que usas deben tener su propiedad "Bloqueada" (formarto de celdas / proteger) descativada. Si hiciste todo esto con la grabadora de macros activada, ya tendras parte del codigo.

Luego, en el mismo evento, ademas de colocar la fecha, los pasos variarian:

- Desproteger la hoja
- Colocar la fecha
- Bloquear la celda (target)
- Proteger la hoja

Abraham


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 30 de Octubre

Gracias Abraham, pero creo que no me explique bien o no me comprendiste del todo.
Yo no pretendo desproteger y proteger la planilla constantemente para proteger así una fecha determinada... El sentido de esta planilla que hice es que sea empleada por otros usuarios y a mi me reporten a traves de esta, por lo tanto, la planilla siempre estara protegida en las columnas que posee formulas. Sin embargo, la columna K no estará protegida porque posee celdas de seleccion (mediante la aplicación de "Validación").
Por lo tanto, lo que me gustaría saber es si existe algún modo que para una celda desprotegida (teniendo en tanto protegida la hoja y libro) se puede bloquear o proteger automáticamente al seleccionar un valor en dicha celda.

En este caso, si yo bloqueo la hoja completa, verás que la columna K seguirá estando desprotegida (porque así lo he determinado, para que el usuario seleccione el estatus de avance de una actividad en dicha columna). Desearía que al momento de seleccionar en una celda (de la columna K, ejemplo K4) y seleccione la opción "Finalizada", me bloquee esta celda (K4). En definitiva, que al colocar "Finalizada" sea lo que bloquee la celda, para evitar así que un usuario modifique este estatus, si así fue anteriormente reportado.


Ver mensaje     

Alejandro Federico
Estado de México, Mé...
Escrito por Alejandro Federico el 30 de Octubre

Hola a todos, he seguido con gran detenimiento el desarrollo de este debate, me gustaria tratar de aportar algo y ver si es posible que con esta macro se pueda resolver lo que German pantea, ok bien entonces, un servidor ha entendido de esta conversacion lo siguiente:
Que cuando el usuario eliga la palabra Finalizada en la columna K automaticamente se fije la fecha en la columna N y despues ya no se vuelva a modificar dicha fecha ni aunque en el futuro se vuelva a elegir otra vez la palabra "Finalizada".

Creo, creo que esta macro lo soluciona.

Private Sub Worksheet_Change(ByVal Target As Range)
miCelda = Left(ActiveCell. Address(, False), 1)
If Target = "Finalizada" And miCelda = "K" And _
Application.WorksheetFunction.IsText(Target. Offset(0, 3)) = False Then
Target. Offset(0, 3). Value = Str(Date)
End If
End Sub

Logicamente hay que colocar esta macro dentro del modulo de la hoja y NO dentro del modulo del libro.

Esperemos que con esto se solucione el problema y si gustas German pues sigamos avanzando hasta lograrlo.

Saludos.


Ver mensaje     

Abraham Valencia
Lima, Perú
Escrito por Abraham Valencia el 30 de Octubre

OJO, para bloquear (o no) una celda, de forma OBLIGADA hay que desproteger/proteger la hoja

Abraham


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 30 de Octubre

Hola Alejandro,
Tal como me indicaste, ingrese a VBA y luego en la Hoja2 (correspondiente a la hoja de "Actividades") ingrese el código que gentilmente me enviaste (dejandolo a continuación del codigo ya anteriormente enviado por Abraham). Sin embargo, al seleccionar cualquiera estado de avance o progreso en alguna de las celdas de la columna K, me genera un mensaje de Error, que señala " Error de Compilación. Se ha detectado nombre ambiguo: Worksheet_Change".
Por el momento, subiré la última actualización de la planilla con los cambios que han dado efecto, denominada "CartaGantt3 GermanPerey", de manera que pueda ser útil a otras personas y puedan también Uds. Ver que me falta corregir o incluir para que funcione completamente.
De antemano, les agradezco muchísimo su gran ayuda.


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 30 de Octubre

El link donde está ubicada la última actualización a la planilla de "CartaGantt3 GermanPerey" es: http://grupos.emagister.com/documento/cartagantt3_germanperey/6610-317573


Ver mensaje     

German Perey
Santiago, Chile
Escrito por German Perey el 30 de Octubre

Mi intención es que al dejar la hoja de "Actividades" protegida con una clave, aplique una Macro que no permita modificadar las celdas de la columna K que han sido seleccionadas como "Finalizada". Sino, únicamente si la selección es distinta de "finalizada" y también cuando yo desproteja la hoja (para limpiar los registros de Actividades) pueda borrar las selecciones anteriores de la columna K.


Ver mensaje     

Alejandro Federico
Estado de México, Mé...
Escrito por Alejandro Federico el 30 de Octubre

Hola German, me extraña el mensaje de error que te envia Excel al colocar la macro antes mencionada.
He resubido tu archivo (Carta Gantt2. XLS) con la macro arriba indicada y no me marcó tal error. La corri en Excel 2000 y tampoco marco error.

Si en dicha hoja ya tienes previamente un evento change en otra macro y ahora copias o introduces otro evento change por eso da el error ambiguo, creo yo.


Ver mensaje     
 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA

Búsquedas frecuentes: calculo pagas extraordinarias definicion redaccion comercial indicadores produccion como decorar mi habitacion pelirrojos

Emagister cumple la Ley Orgánica 15/1999 de 13 de diciembre, de Protección de datos de Carácter Personal, y posee el código de inscripción nº 2002010053 del Registro General de la Agencia de Protección de Datos. Copyright © 1999/2000 - Grupo Intercom - Todos los derechos