Ver celdas cambiadas

19/05/2010 - 10:01 por Belinda | Informe spam
..hola amigos...

Estoy buscando respuesta a esto, que creo haber visto antes, pero no
lo encuentro. Tengo una hoja con la que calculo nóminas.
La mayoría de sus datos son fijos, o sea que el dia 1 de cada mes ya
las tengo hechas. Luego, a fin de mes, solo tengo que modificar las
que tienen alguna incidencia. Mi pregunta es si hay alguna forma de
que, partiendo de una base de datos original, la del día 1, cuando
cambie algún dato, me resalte las celdas con cambios. Los cambios son
resultado de fórmulas.
La hoja la realizo a primeros de mes. En una fila pongo los días, el 1
al 31. En columnas, los nombre de las personas y en otro rango, los
datos. Si pongo un 1 a todos lo días laborables la hoja calcula las
horas y los diferentes conceptos del convenio en ese rango Si por
ejemplo, una persona falta un día determinado, ese día le pongo un 2,
con lo que varían todos los datos de esa fila...etc.
Gracias por vuestra ayuda

Preguntas similare

Leer las respuestas

#1 Pedro F. Pardo
19/05/2010 - 10:48 | Informe spam
On 19 May, 09:01, Belinda wrote:
..hola amigos...

Estoy buscando respuesta a esto, que creo haber visto antes, pero no
lo encuentro. Tengo una hoja con la que calculo nóminas.
La mayoría de sus datos son fijos, o sea que el dia 1 de cada mes ya
las tengo hechas. Luego, a fin de mes, solo tengo que modificar las
que tienen alguna incidencia. Mi pregunta es si hay alguna forma de
que, partiendo de una base de datos original, la del día 1, cuando
cambie algún dato, me resalte las celdas con cambios. Los cambios son
resultado de fórmulas.
La hoja la realizo a primeros de mes. En una fila pongo los días, el 1
al 31. En columnas, los nombre de las personas y en otro rango, los
datos. Si pongo un 1 a todos lo días laborables la hoja calcula las
horas y los diferentes conceptos del convenio en ese rango Si por
ejemplo, una persona falta un día determinado, ese día le pongo un 2,
con lo que varían todos los datos de esa fila...etc.
Gracias por vuestra ayuda




Puedes usar el formato condicional.

Por ejemplo:

Si tienes:
A B C
día 1 día2
Empleado1 1 <Formato condicional
eliges la opción: Formula Si y escribes esto: =$B2<>C2
Empleado2 1
Empleado3 1
Empleado4 2
Empleado5 1
Empleado6 3

Escribe el formato condicional en la celda C2
Escoge un formato para destacar la celda, Negrita, fondo amarillo, o
lo que quieras.
Copia el formato al resto del rango.

La fórmula lo que dice es que si el contenido de la celda donde estés
es distinto a lo que hay escrito en la misma fila pero en la columna
B, la celda en cuestión aparecerá marcada.

El dolar delante de la letra B es para fijar la Columna (la columna B)
que tomas como referencia para el resto del mes.

Tomando este ejemplo puedes adaptarlo a tus necesidades deopendiendo
de qué quieres que sirva como base fija y de como quieres marcar los
cambios.

Si necesitas ayuda en adaptarlo, solo pregunta ;-)
Respuesta Responder a este mensaje
#2 Belinda
19/05/2010 - 11:27 | Informe spam
On 19 mayo, 10:48, "Pedro F. Pardo" wrote:
On 19 May, 09:01, Belinda wrote:





> ..hola amigos...

> Estoy buscando respuesta a esto, que creo haber visto antes, pero no
> lo encuentro. Tengo una hoja con la que calculo nóminas.
> La mayoría de sus datos son fijos, o sea que el dia 1 de cada mes ya
> las tengo hechas. Luego, a fin de mes, solo tengo que modificar las
> que tienen alguna incidencia. Mi pregunta es si hay alguna forma de
> que, partiendo de una base de datos original, la del día 1, cuando
> cambie algún dato, me resalte las celdas con cambios. Los cambios son
> resultado de fórmulas.
> La hoja la realizo a primeros de mes. En una fila pongo los días, el 1
> al 31. En columnas, los nombre de las personas y en otro rango, los
> datos. Si pongo un 1 a todos lo días laborables la hoja calcula las
> horas y los diferentes conceptos del convenio en ese rango Si por
> ejemplo, una persona falta un día determinado, ese día le pongo un 2,
> con lo que varían todos los datos de esa fila...etc.
> Gracias por vuestra ayuda

Puedes usar el formato condicional.

Por ejemplo:

Si tienes:
           A                   B                 C
                             día 1               día2
    Empleado1            1                   <Formato condicional
eliges la opción: Formula Si  y escribes esto:   =$B2<>C2
    Empleado2            1
    Empleado3            1
    Empleado4            2
    Empleado5            1
    Empleado6            3

Escribe el formato condicional en la celda  C2
Escoge un formato para destacar la celda, Negrita, fondo amarillo, o
lo que quieras.
Copia el formato al resto del rango.

La fórmula lo que dice es que si el contenido de la celda donde estés
es distinto a lo que hay escrito en la misma fila pero en la columna
B, la celda en cuestión aparecerá marcada.

El dolar delante de la letra B es para fijar la Columna (la columna B)
que tomas como referencia para el resto del mes.

Tomando este ejemplo puedes adaptarlo a tus necesidades deopendiendo
de qué quieres que sirva como base fija y de como quieres marcar los
cambios.

Si necesitas ayuda en adaptarlo, solo pregunta ;-)- Ocultar texto de la cita -

- Mostrar texto de la cita -



Gracias por responder Pedro...pero no es exactamente lo que necesito,
ya que la hoja ya tiene sus formatos condicionales para otras cosas y
las celdas cambian también din depender del 1 ó del 2 que haya en el
cuadrante...

La idea es, se me ocurrre, activar una macro que vaya marcando las
celdas que cambien su valor en ese momento (rango de valores:
J10:AJ206), incluso las que están en blanco, es decir no activar la
macro hasta que vaya a hacer los cambios

Lo que yo hago es (para ganar tiempo) pasar los datos de este primer
cuadrante (sin incidencias) al programa que hace las nóminas. Luego, a
final de mes, cuando tengo que cerrarlo, anoto en él las
incidencias...Esas celdas, cuyos valores son modificados por estas
incidencias y los nuevos valores que pueda haber (celdas en blanco)
son las que debería marcarme la macro, ya que son solo las que voy a a
modificar en el programa de nóminas

Saludos
Respuesta Responder a este mensaje
#3 Pedro F. Pardo
19/05/2010 - 12:19 | Informe spam
On 19 May, 10:27, Belinda wrote:
On 19 mayo, 10:48, "Pedro F. Pardo" wrote:



> On 19 May, 09:01, Belinda wrote:

> > ..hola amigos...

> > Estoy buscando respuesta a esto, que creo haber visto antes, pero no
> > lo encuentro. Tengo una hoja con la que calculo nóminas.
> > La mayoría de sus datos son fijos, o sea que el dia 1 de cada mes ya
> > las tengo hechas. Luego, a fin de mes, solo tengo que modificar las
> > que tienen alguna incidencia. Mi pregunta es si hay alguna forma de
> > que, partiendo de una base de datos original, la del día 1, cuando
> > cambie algún dato, me resalte las celdas con cambios. Los cambios son
> > resultado de fórmulas.
> > La hoja la realizo a primeros de mes. En una fila pongo los días, el 1
> > al 31. En columnas, los nombre de las personas y en otro rango, los
> > datos. Si pongo un 1 a todos lo días laborables la hoja calcula las
> > horas y los diferentes conceptos del convenio en ese rango Si por
> > ejemplo, una persona falta un día determinado, ese día le pongo un 2,
> > con lo que varían todos los datos de esa fila...etc.
> > Gracias por vuestra ayuda

> Puedes usar el formato condicional.

> Por ejemplo:

> Si tienes:
>            A                   B                 C
>                              día 1               día2
>     Empleado1            1                   <Formato condicional
> eliges la opción: Formula Si  y escribes esto:   =$B2<>C2
>     Empleado2            1
>     Empleado3            1
>     Empleado4            2
>     Empleado5            1
>     Empleado6            3

> Escribe el formato condicional en la celda  C2
> Escoge un formato para destacar la celda, Negrita, fondo amarillo, o
> lo que quieras.
> Copia el formato al resto del rango.

> La fórmula lo que dice es que si el contenido de la celda donde estés
> es distinto a lo que hay escrito en la misma fila pero en la columna
> B, la celda en cuestión aparecerá marcada.

> El dolar delante de la letra B es para fijar la Columna (la columna B)
> que tomas como referencia para el resto del mes.

> Tomando este ejemplo puedes adaptarlo a tus necesidades deopendiendo
> de qué quieres que sirva como base fija y de como quieres marcar los
> cambios.

> Si necesitas ayuda en adaptarlo, solo pregunta ;-)- Ocultar texto de la cita -

> - Mostrar texto de la cita -

Gracias por responder Pedro...pero no es exactamente lo que necesito,
ya que la hoja ya tiene sus formatos condicionales para otras cosas y
las celdas cambian también din depender del 1 ó del 2 que haya en el
cuadrante...

La idea es, se me ocurrre, activar una macro que vaya marcando las
celdas que cambien su valor en ese momento (rango de valores:
J10:AJ206), incluso las que están en blanco, es decir no activar la
macro hasta que vaya a hacer los cambios

Lo que yo hago es (para ganar tiempo) pasar los datos de este primer
cuadrante (sin incidencias) al programa que hace las nóminas. Luego, a
final de mes, cuando tengo que cerrarlo, anoto en él las
incidencias...Esas celdas, cuyos valores son modificados por estas
incidencias y los nuevos valores que pueda haber (celdas en blanco)
son las que debería marcarme la macro, ya que son solo las que voy a a
modificar en el programa de nóminas

Saludos



ok, ¿Cómo quieres marcar las celdas?
En negrita?
Con el fondo de alguna forma?

Te puedo dar las instrucciones básicas de la macro, por ejemplo:


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column > 10 And Target.Column < 37 And Target.Row > 9
And Target.Row < 207 Then 'Esto solo lo hace si se cambia algo dentro
del rango J10:AJ206
If Target.Value <> Cells(**fila**, **columna**).Value
Then 'si el valor que ha cambiado difiere del valor que has tomado
como referencia
'Esto pone la letra en negrita
Target.Font.Bold = True

'Esto pone el fondo amarillo
Target.Interior.ColorIndex = 36
Target.Interior.Pattern = xlSolid
End If
End If

End Sub


Cells(**fila**, **columna**) representa la celda que usas como
referencia (la del día 1)

Si esas celdas están en la columna J por ejemplo, es decir comparas
todas las columnas con la J tendrías que poner:

Cells(Target.Row, 10).Value

Fila: la misma de la celda que acabas de cambiar
Columna: 10 (equivale a la columna J)

No he probado esta macro en Excel, de modo que seguro que algo
falla :-) pero es solo una idea, tampoco sé exactamente donde está el
rango que tomas como base para ver las diferencias, si me das más
datos podemos afinarla un poco más. ¿o te basta con esto?


Saludos,
Respuesta Responder a este mensaje
#4 Belinda
19/05/2010 - 12:37 | Informe spam
On 19 mayo, 12:19, "Pedro F. Pardo" wrote:
On 19 May, 10:27, Belinda wrote:





> On 19 mayo, 10:48, "Pedro F. Pardo" wrote:

> > On 19 May, 09:01, Belinda wrote:

> > > ..hola amigos...

> > > Estoy buscando respuesta a esto, que creo haber visto antes, pero no
> > > lo encuentro. Tengo una hoja con la que calculo nóminas.
> > > La mayoría de sus datos son fijos, o sea que el dia 1 de cada mes ya
> > > las tengo hechas. Luego, a fin de mes, solo tengo que modificar las
> > > que tienen alguna incidencia. Mi pregunta es si hay alguna forma de
> > > que, partiendo de una base de datos original, la del día 1, cuando
> > > cambie algún dato, me resalte las celdas con cambios. Los cambios son
> > > resultado de fórmulas.
> > > La hoja la realizo a primeros de mes. En una fila pongo los días, el 1
> > > al 31. En columnas, los nombre de las personas y en otro rango, los
> > > datos. Si pongo un 1 a todos lo días laborables la hoja calcula las
> > > horas y los diferentes conceptos del convenio en ese rango Si por
> > > ejemplo, una persona falta un día determinado, ese día le pongo un 2,
> > > con lo que varían todos los datos de esa fila...etc.
> > > Gracias por vuestra ayuda

> > Puedes usar el formato condicional.

> > Por ejemplo:

> > Si tienes:
> >            A                   B                 C
> >                              día 1               día2
> >     Empleado1            1                   <Formato condicional
> > eliges la opción: Formula Si  y escribes esto:   =$B2<>C2
> >     Empleado2            1
> >     Empleado3            1
> >     Empleado4            2
> >     Empleado5            1
> >     Empleado6            3

> > Escribe el formato condicional en la celda  C2
> > Escoge un formato para destacar la celda, Negrita, fondo amarillo, o
> > lo que quieras.
> > Copia el formato al resto del rango.

> > La fórmula lo que dice es que si el contenido de la celda donde estés
> > es distinto a lo que hay escrito en la misma fila pero en la columna
> > B, la celda en cuestión aparecerá marcada.

> > El dolar delante de la letra B es para fijar la Columna (la columna B)
> > que tomas como referencia para el resto del mes.

> > Tomando este ejemplo puedes adaptarlo a tus necesidades deopendiendo
> > de qué quieres que sirva como base fija y de como quieres marcar los
> > cambios.

> > Si necesitas ayuda en adaptarlo, solo pregunta ;-)- Ocultar texto de la cita -

> > - Mostrar texto de la cita -

> Gracias por responder Pedro...pero no es exactamente lo que necesito,
> ya que la hoja ya tiene sus formatos condicionales para otras cosas y
> las celdas cambian también din depender del 1 ó del 2 que haya en el
> cuadrante...

> La idea es, se me ocurrre, activar una macro que vaya marcando las
> celdas que cambien su valor en ese momento (rango de valores:
> J10:AJ206), incluso las que están en blanco, es decir no activar la
> macro hasta que vaya a hacer los cambios

> Lo que yo hago es (para ganar tiempo) pasar los datos de este primer
> cuadrante (sin incidencias) al programa que hace las nóminas. Luego, a
> final de mes, cuando tengo que cerrarlo, anoto en él las
> incidencias...Esas celdas, cuyos valores son modificados por estas
> incidencias y los nuevos valores que pueda haber (celdas en blanco)
> son las que debería marcarme la macro, ya que son solo las que voy a a
> modificar en el programa de nóminas

> Saludos

ok, ¿Cómo quieres marcar las celdas?
En negrita?
Con el fondo de alguna forma?

Te puedo dar las instrucciones básicas de la macro, por ejemplo:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column > 10 And Target.Column < 37 And Target.Row > 9
And Target.Row < 207 Then 'Esto solo lo hace si se cambia algo dentro
del rango J10:AJ206
                If Target.Value <> Cells(**fila**, **columna**).Value
Then 'si el valor que ha cambiado difiere del valor que has tomado
como referencia
                'Esto pone la letra en negrita
                Target.Font.Bold = True

                'Esto pone el fondo amarillo
                Target.Interior.ColorIndex = 36
                Target.Interior.Pattern = xlSolid
        End If
    End If

End Sub


Cells(**fila**, **columna**) representa la celda que usas como
referencia (la del día 1)

Si esas celdas están en la columna J por ejemplo, es decir comparas
todas las columnas con la J tendrías que poner:

Cells(Target.Row, 10).Value

Fila: la misma de la celda que acabas de cambiar
Columna: 10 (equivale a la columna J)

No he probado esta macro en Excel, de modo que seguro que algo
falla :-) pero es solo una idea, tampoco sé exactamente donde está el
rango que tomas como base para ver las diferencias, si me das más
datos podemos afinarla un poco más. ¿o te basta con esto?

Saludos,- Ocultar texto de la cita -

- Mostrar texto de la cita -



Hola Pedro...

Cells(**fila**, **columna**) representa la celda que usas como
referencia (la del día 1)

...creo que no me he explicado bien: No uso ninguna celda como
referencia, es decir, la celda de referencia es la misma que quiero
evaluar, o sea, todas las de ese rango.

Es decir, quiero que la macro marque con fondo verde (por ejemplo)
que la celda L15 que antes tenia 428,00 ahora tiene 480,00, que la
celda M13, que antes estaba en blanco, ahora tiene 1584,00con la
salvedad de estos valores pueden ser cambiados debido a que esas
celdas tienen fórmulas o que esos datos se los meto yo directamente

Saludos
Respuesta Responder a este mensaje
#5 Pedro F. Pardo
19/05/2010 - 12:52 | Informe spam
On 19 May, 11:37, Belinda wrote:
On 19 mayo, 12:19, "Pedro F. Pardo" wrote:



> On 19 May, 10:27, Belinda wrote:

> > On 19 mayo, 10:48, "Pedro F. Pardo" wrote:

> > > On 19 May, 09:01, Belinda wrote:

> > > > ..hola amigos...

> > > > Estoy buscando respuesta a esto, que creo haber visto antes, pero no
> > > > lo encuentro. Tengo una hoja con la que calculo nóminas.
> > > > La mayoría de sus datos son fijos, o sea que el dia 1 de cada mes ya
> > > > las tengo hechas. Luego, a fin de mes, solo tengo que modificar las
> > > > que tienen alguna incidencia. Mi pregunta es si hay alguna forma de
> > > > que, partiendo de una base de datos original, la del día 1, cuando
> > > > cambie algún dato, me resalte las celdas con cambios. Los cambios son
> > > > resultado de fórmulas.
> > > > La hoja la realizo a primeros de mes. En una fila pongo los días, el 1
> > > > al 31. En columnas, los nombre de las personas y en otro rango, los
> > > > datos. Si pongo un 1 a todos lo días laborables la hoja calcula las
> > > > horas y los diferentes conceptos del convenio en ese rango Si por
> > > > ejemplo, una persona falta un día determinado, ese día le pongo un 2,
> > > > con lo que varían todos los datos de esa fila...etc.
> > > > Gracias por vuestra ayuda

> > > Puedes usar el formato condicional.

> > > Por ejemplo:

> > > Si tienes:
> > >            A                   B                 C
> > >                              día 1               día2
> > >     Empleado1            1                   <Formato condicional
> > > eliges la opción: Formula Si  y escribes esto:   =$B2<>C2
> > >     Empleado2            1
> > >     Empleado3            1
> > >     Empleado4            2
> > >     Empleado5            1
> > >     Empleado6            3

> > > Escribe el formato condicional en la celda  C2
> > > Escoge un formato para destacar la celda, Negrita, fondo amarillo, o
> > > lo que quieras.
> > > Copia el formato al resto del rango.

> > > La fórmula lo que dice es que si el contenido de la celda donde estés
> > > es distinto a lo que hay escrito en la misma fila pero en la columna
> > > B, la celda en cuestión aparecerá marcada.

> > > El dolar delante de la letra B es para fijar la Columna (la columna B)
> > > que tomas como referencia para el resto del mes.

> > > Tomando este ejemplo puedes adaptarlo a tus necesidades deopendiendo
> > > de qué quieres que sirva como base fija y de como quieres marcar los
> > > cambios.

> > > Si necesitas ayuda en adaptarlo, solo pregunta ;-)- Ocultar texto de la cita -

> > > - Mostrar texto de la cita -

> > Gracias por responder Pedro...pero no es exactamente lo que necesito,
> > ya que la hoja ya tiene sus formatos condicionales para otras cosas y
> > las celdas cambian también din depender del 1 ó del 2 que haya en el
> > cuadrante...

> > La idea es, se me ocurrre, activar una macro que vaya marcando las
> > celdas que cambien su valor en ese momento (rango de valores:
> > J10:AJ206), incluso las que están en blanco, es decir no activar la
> > macro hasta que vaya a hacer los cambios

> > Lo que yo hago es (para ganar tiempo) pasar los datos de este primer
> > cuadrante (sin incidencias) al programa que hace las nóminas. Luego, a
> > final de mes, cuando tengo que cerrarlo, anoto en él las
> > incidencias...Esas celdas, cuyos valores son modificados por estas
> > incidencias y los nuevos valores que pueda haber (celdas en blanco)
> > son las que debería marcarme la macro, ya que son solo las que voy a a
> > modificar en el programa de nóminas

> > Saludos

> ok, ¿Cómo quieres marcar las celdas?
> En negrita?
> Con el fondo de alguna forma?

> Te puedo dar las instrucciones básicas de la macro, por ejemplo:

> Private Sub Worksheet_Change(ByVal Target As Range)

>     If Target.Column > 10 And Target.Column < 37 And Target.Row > 9
> And Target.Row < 207 Then 'Esto solo lo hace si se cambia algo dentro
> del rango J10:AJ206
>                 If Target.Value <> Cells(**fila**, **columna**).Value
> Then 'si el valor que ha cambiado difiere del valor que has tomado
> como referencia
>                 'Esto pone la letra en negrita
>                 Target.Font.Bold = True

>                 'Esto pone el fondo amarillo
>                 Target.Interior.ColorIndex = 36
>                 Target.Interior.Pattern = xlSolid
>         End If
>     End If

> End Sub


> Cells(**fila**, **columna**) representa la celda que usas como
> referencia (la del día 1)

> Si esas celdas están en la columna J por ejemplo, es decir comparas
> todas las columnas con la J tendrías que poner:

> Cells(Target.Row, 10).Value

> Fila: la misma de la celda que acabas de cambiar
> Columna: 10 (equivale a la columna J)

> No he probado esta macro en Excel, de modo que seguro que algo
> falla :-) pero es solo una idea, tampoco sé exactamente donde está el
> rango que tomas como base para ver las diferencias, si me das más
> datos podemos afinarla un poco más. ¿o te basta con esto?

> Saludos,- Ocultar texto de la cita -

> - Mostrar texto de la cita -

Hola Pedro...

Cells(**fila**, **columna**) representa la celda que usas como
referencia (la del día 1)

...creo que no me he explicado bien: No uso ninguna celda como
referencia, es decir, la celda de referencia es la misma que quiero
evaluar, o sea, todas las de ese rango.

Es decir, quiero que la  macro marque con fondo verde (por ejemplo)
que la celda L15 que antes tenia 428,00 ahora tiene 480,00, que la
celda M13, que antes estaba en blanco, ahora tiene 1584,00con la
salvedad de estos valores pueden ser cambiados debido a que esas
celdas tienen fórmulas o que esos datos se los meto yo directamente

Saludos



Entonces quizá es mucho más sencillo, prueba a ver si la opción
rastrear cambios, del menú Herramientas te sirve.
Marca donde pone: "donde", el rango de datos que quieres comprobar.

Mi excel está en Inglés y pone: Track Changes, no sé exactamente como
se dirá en Español.

Si no es suficiente aun podemos arreglar la macro ;-)
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida