macro de fechas

18/02/2004 - 02:19 por Crisonia | Informe spam
tengo una macro a la que le falta algo para que funcione
a la perfeccion:

Sub Macro6()
Range("A3").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Selection.NumberFormat = """BM""yyyymmdd.txt"
End Sub



Esta me da lo que quiero: "BM20040218.txt", solo que
tambien me gustaria introducir directamente la fecha
cuando se trate de uno o dos dias anteriores a la fecha
actual.

Lo he intentado con esta otra, pero algo falla y no
consigo sacarla. Una vez corrida la macro me posiciono
sobre la celda A3 con el raton y tras darle dos veces y
luego a introducir si que sale lo que quiero, pero
mediante la macro no consigo el resultado completo.

Sub Macro7()
Dim UserEntry As Variant
UserEntry = InputBox("Fecha a actualizar")
Range("A3") = UserEntry
Range("A3").Select
Selection.NumberFormat = """BM""yyyymmdd.txt"
End Sub

Otra cuestion seria saber como introducir las fechas sin
tener que añadirle las barras, escribir esto 170204 y que
se traduzca en los siguiente 17/02/2004 ¿es posible?
 

Leer las respuestas

#1 Héctor Miguel
18/02/2004 - 11:18 | Informe spam
hola, Crisonia !

... macro ... falta algo para que funcione a la perfeccion:
... me gustaria introducir directamente la fecha cuando se trate de uno o dos dias anteriores a la fecha actual.
... introducir las fechas sin tener que añadirle las barras
... escribir esto 170204 y que se traduzca en los siguiente 17/02/2004 [...]



dando por 'entendido' que SIEMPRE se introducen SEIS DIGITOS en el orden de ddmmaa ...
haz la prueba con la siguiente macro
______
Sub Fecha_y_Formato()
Dim Fecha As String, Día As Integer, Mes As Integer, Año As Integer
Fecha = InputBox("Fecha a actualizar")
Día = Left(Fecha, 2)
Mes = Mid(Fecha, 3, 2)
Año = Right(Fecha, 2)
With Range("a3")
.Value = DateSerial(Año, Mes, Día)
.NumberFormat = """BM""yyyymmdd.txt"
End With
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨
si 'algo cambia' [o se 'cancela' el inputbox]... :(( habra que 'corregir / prevenir' errores ;)

saludos,
hector.

Preguntas similares