Fecha automática condicionada

21/10/2003 - 13:47 por Lito | Informe spam
Hola:

Quiero que la fecha se coloque automáticamente en la primer celda vacía de la columna A al escribir
en la celda de al lado de la columna B.

Algo como "Si Range("B2") <>"" entonces Range("A2") = Format(Now(), "dd/mm/yy")

¿Podrá lograrse con formato condicional? si es así ¿cómo?

Saludos.

Lito

Preguntas similare

Leer las respuestas

#6 Lito
22/10/2003 - 15:58 | Informe spam
Perdón, voy a ser muuuuyy pedigüeño :-)

El código anda bien en Excel 2000, para el que lo pedí, pero ahora necesito adaptarlo a una vieja
386 en que bajo Win 3.1 tengo funcionando Excel 5. Si, aquella querida versión en que se programaba
en español. (Ah, tiempos...)

¿Será mucho pedir?

Anticipadas y primaverales gracias. (Otoñales para los del norte)

Lito

"Fernando Arroyo" escribió en el mensaje
news:
Prueba con este código, que va en el módulo de la hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then
Exit Sub
Else
Application.EnableEvents = False
Target.Offset(0, -1) = Now()
Application.EnableEvents = True
End If
End Sub

Esto pondría en la columna A la fecha y hora en que se modificó por última vez la misma celda de la
columna B.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lito" escribió en el mensaje news:%
Gracias Victor.

Ocurre que usé una solución similar a la que propones =Si(B2<>0;HOY();"") pero como que HOY() es
volátil en todas siempre aparece la fecha del día. En otra hoja usé una macro que copia y luego


pega
solo valores, la metí en el código de la hoja bajo Private Sub Worksheet_SelectionChange(ByVal
Target As Range) y se quedaba en circulo sin fin. La puse en un botón pero hay que darle al botón
para activarla.
Pretendo que quede la fecha fija de cuando se llenó la celda de la columna B

¿Alguna otra idea?.

Respuesta Responder a este mensaje
#7 Lito
22/10/2003 - 15:58 | Informe spam
Perdón, voy a ser muuuuyy pedigüeño :-)

El código anda bien en Excel 2000, para el que lo pedí, pero ahora necesito adaptarlo a una vieja
386 en que bajo Win 3.1 tengo funcionando Excel 5. Si, aquella querida versión en que se programaba
en español. (Ah, tiempos...)

¿Será mucho pedir?

Anticipadas y primaverales gracias. (Otoñales para los del norte)

Lito

"Fernando Arroyo" escribió en el mensaje
news:
Prueba con este código, que va en el módulo de la hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then
Exit Sub
Else
Application.EnableEvents = False
Target.Offset(0, -1) = Now()
Application.EnableEvents = True
End If
End Sub

Esto pondría en la columna A la fecha y hora en que se modificó por última vez la misma celda de la
columna B.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lito" escribió en el mensaje news:%
Gracias Victor.

Ocurre que usé una solución similar a la que propones =Si(B2<>0;HOY();"") pero como que HOY() es
volátil en todas siempre aparece la fecha del día. En otra hoja usé una macro que copia y luego


pega
solo valores, la metí en el código de la hoja bajo Private Sub Worksheet_SelectionChange(ByVal
Target As Range) y se quedaba en circulo sin fin. La puse en un botón pero hay que darle al botón
para activarla.
Pretendo que quede la fecha fija de cuando se llenó la celda de la columna B

¿Alguna otra idea?.

Respuesta Responder a este mensaje
#8 Lito
22/10/2003 - 15:58 | Informe spam
Perdón, voy a ser muuuuyy pedigüeño :-)

El código anda bien en Excel 2000, para el que lo pedí, pero ahora necesito adaptarlo a una vieja
386 en que bajo Win 3.1 tengo funcionando Excel 5. Si, aquella querida versión en que se programaba
en español. (Ah, tiempos...)

¿Será mucho pedir?

Anticipadas y primaverales gracias. (Otoñales para los del norte)

Lito

"Fernando Arroyo" escribió en el mensaje
news:
Prueba con este código, que va en el módulo de la hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then
Exit Sub
Else
Application.EnableEvents = False
Target.Offset(0, -1) = Now()
Application.EnableEvents = True
End If
End Sub

Esto pondría en la columna A la fecha y hora en que se modificó por última vez la misma celda de la
columna B.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lito" escribió en el mensaje news:%
Gracias Victor.

Ocurre que usé una solución similar a la que propones =Si(B2<>0;HOY();"") pero como que HOY() es
volátil en todas siempre aparece la fecha del día. En otra hoja usé una macro que copia y luego


pega
solo valores, la metí en el código de la hoja bajo Private Sub Worksheet_SelectionChange(ByVal
Target As Range) y se quedaba en circulo sin fin. La puse en un botón pero hay que darle al botón
para activarla.
Pretendo que quede la fecha fija de cuando se llenó la celda de la columna B

¿Alguna otra idea?.

Respuesta Responder a este mensaje
#9 Lito
22/10/2003 - 15:58 | Informe spam
Perdón, voy a ser muuuuyy pedigüeño :-)

El código anda bien en Excel 2000, para el que lo pedí, pero ahora necesito adaptarlo a una vieja
386 en que bajo Win 3.1 tengo funcionando Excel 5. Si, aquella querida versión en que se programaba
en español. (Ah, tiempos...)

¿Será mucho pedir?

Anticipadas y primaverales gracias. (Otoñales para los del norte)

Lito

"Fernando Arroyo" escribió en el mensaje
news:
Prueba con este código, que va en el módulo de la hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then
Exit Sub
Else
Application.EnableEvents = False
Target.Offset(0, -1) = Now()
Application.EnableEvents = True
End If
End Sub

Esto pondría en la columna A la fecha y hora en que se modificó por última vez la misma celda de la
columna B.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lito" escribió en el mensaje news:%
Gracias Victor.

Ocurre que usé una solución similar a la que propones =Si(B2<>0;HOY();"") pero como que HOY() es
volátil en todas siempre aparece la fecha del día. En otra hoja usé una macro que copia y luego


pega
solo valores, la metí en el código de la hoja bajo Private Sub Worksheet_SelectionChange(ByVal
Target As Range) y se quedaba en circulo sin fin. La puse en un botón pero hay que darle al botón
para activarla.
Pretendo que quede la fecha fija de cuando se llenó la celda de la columna B

¿Alguna otra idea?.

Respuesta Responder a este mensaje
#10 Fernando Arroyo
22/10/2003 - 17:02 | Informe spam
Lito, me temo que yo no voy a poder ayudarte en esto. Hace lo menos cuatro años que no uso el Excel 95, pero es que, además, cuando lo usaba programaba en inglés. Creo recordar que para averiguar la celda que había sido modificada había que usar la propiedad Caller del objeto Application, pero ahora mismo estoy en blanco sobre cómo se activaban los eventos de la hoja...

En cualquier caso, lo del idioma no creo que fuera demasiado problema porque creo recordar que se podía seleccionar en algún sitio el idioma en que se programaba, aunque tampoco recuerdo dónde era.

A ver si alguien te puede decir algo más concreto, o a ver si yo me recupero de la "amnesia".
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lito" escribió en el mensaje news:
Perdón, voy a ser muuuuyy pedigüeño :-)

El código anda bien en Excel 2000, para el que lo pedí, pero ahora necesito adaptarlo a una vieja
386 en que bajo Win 3.1 tengo funcionando Excel 5. Si, aquella querida versión en que se programaba
en español. (Ah, tiempos...)

¿Será mucho pedir?

Anticipadas y primaverales gracias. (Otoñales para los del norte)

Lito

"Fernando Arroyo" escribió en el mensaje
news:
Prueba con este código, que va en el módulo de la hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then
Exit Sub
Else
Application.EnableEvents = False
Target.Offset(0, -1) = Now()
Application.EnableEvents = True
End If
End Sub

Esto pondría en la columna A la fecha y hora en que se modificó por última vez la misma celda de la
columna B.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Lito" escribió en el mensaje news:%
> Gracias Victor.
>
> Ocurre que usé una solución similar a la que propones =Si(B2<>0;HOY();"") pero como que HOY() es
> volátil en todas siempre aparece la fecha del día. En otra hoja usé una macro que copia y luego
pega
> solo valores, la metí en el código de la hoja bajo Private Sub Worksheet_SelectionChange(ByVal
> Target As Range) y se quedaba en circulo sin fin. La puse en un botón pero hay que darle al botón
> para activarla.
> Pretendo que quede la fecha fija de cuando se llenó la celda de la columna B
>
> ¿Alguna otra idea?.
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida