Poner fecha automáticamente

18/07/2007 - 11:30 por Tony | Informe spam
Hola de nuevo:

Necesito introducir en una macro el código para que en una serie de celdas
ponga la fecha. Las celdas están todas en la columna D y el número de filas
depende de la última que contenga datos (la columna A siempre contiene
datos)...

La fecha que debe poner es el último día del mes anterior al de la fecha del
sistema...

¿Cómo podría ponerlo?...

Gracias por anticipado...

Preguntas similare

Leer las respuestas

#1 KL
18/07/2007 - 15:26 | Informe spam
Hola Tony,

"Tony" wrote in message
news:
Hola de nuevo:

Necesito introducir en una macro el código para que en una serie de celdas
ponga la fecha. Las celdas están todas en la columna D y el número de
filas
depende de la última que contenga datos (la columna A siempre contiene
datos)...

La fecha que debe poner es el último día del mes anterior al de la fecha
del
sistema...

¿Cómo podría ponerlo?...

Gracias por anticipado...



No se si te he entendido bien...

Sub test()
With ActiveSheet
.Range("D:D")(.Cells(.Rows.Count, "A").End(xlUp).Row) = _
DateSerial(Year(Date), Month(Date), 0)
End With
End Sub

Saludos,
KL
Respuesta Responder a este mensaje
#2 Tony
18/07/2007 - 22:04 | Informe spam
Ante todo muchas gracias KL por la respuesta...

No ha salido del todo correcto... La fecha la calcula bien pero la ha puesto
únicamente en la última celda de la columna D y tiene que ponerla en todas
las celdas de la columna D... Es decir, si hay 25 filas ahora lo pone sólo en
la celda D25 pero quiero que lo ponga desde la D2 a la D25... Pero teniendo
en cuenta que el número de filas es variable y que se puede calcular gracias
a que la columna A siempre tiene datos...

Gracias de nuevo...

"KL" wrote:

Hola Tony,

"Tony" wrote in message
news:
> Hola de nuevo:
>
> Necesito introducir en una macro el código para que en una serie de celdas
> ponga la fecha. Las celdas están todas en la columna D y el número de
> filas
> depende de la última que contenga datos (la columna A siempre contiene
> datos)...
>
> La fecha que debe poner es el último día del mes anterior al de la fecha
> del
> sistema...
>
> ¿Cómo podría ponerlo?...
>
> Gracias por anticipado...

No se si te he entendido bien...

Sub test()
With ActiveSheet
.Range("D:D")(.Cells(.Rows.Count, "A").End(xlUp).Row) = _
DateSerial(Year(Date), Month(Date), 0)
End With
End Sub

Saludos,
KL


Respuesta Responder a este mensaje
#3 KL
19/07/2007 - 00:13 | Informe spam
"Tony" wrote in message
news:
... tiene que ponerla en todas
las celdas de la columna D... Es decir, si hay 25 filas ahora lo pone sólo
en
la celda D25 pero quiero que lo ponga desde la D2 a la D25... Pero
teniendo
en cuenta que el número de filas es variable y que se puede calcular
gracias
a que la columna A siempre tiene datos...



Mira a ver cual de los dos procedimientos que pongo a continuacion te vale:

Sub test1()
With ActiveSheet
.Range(.Cells(2, "D"), .Cells(.Rows.Count, "A").End(xlUp).Offset(,
3)) = _
DateSerial(Year(Date), Month(Date), 0)
End With
End Sub

Sub test2()
Dim x As Long, y As Long
With ActiveSheet
x = .Cells(.Rows.Count, "D").End(xlUp).Row + 1
y = .Cells(.Rows.Count, "A").End(xlUp).Row
If x <= y Then
.Range(.Cells(x, "D"), .Cells(y, "D")) = _
DateSerial(Year(Date), Month(Date), 0)
End If
End With
End Sub

Saludos,
KL
Respuesta Responder a este mensaje
#4 Tony
19/07/2007 - 19:02 | Informe spam
Muchas gracias KL, la primera opción me funcionó de maravilla...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida