Bueno , todo bien....pero ya que estaba, se me ocurrio otra version....
La idea es que al abrir el archivo el Primer dia (el dia del año que sea el primero que abras) de cada Año nuevo, en la columna de carga , a partir de la primera celda a utilizar, se cargue el formato anual correspondiente y a partir de ahi sin retoques hasta el nuevo año.....
Hay una Macro para correrla una vez y nada mas ....
- Código: Seleccionar todo
Sub CargarAño()
Dim año As Long
On Error Resume Next
año = Year(Date)
ActiveWorkbook.CustomDocumentProperties("AñoCarga").Delete
With ActiveWorkbook.CustomDocumentProperties
.Add Name:="AñoCarga", Type:=msoPropertyTypeNumber, LinkToContent:=False, Value:=año
End With
End Sub
y en el Modulo Thisworkbook esta otra:
- Código: Seleccionar todo
Private Sub Workbook_Open()
Dim año As Long, añoVigente As Long, strAñoVigente As String, formato As String
On Error Resume Next
año = ActiveWorkbook.CustomDocumentProperties("AñoCarga")
añoVigente = Year(Date)
If año = añoVigente Then Exit Sub
strAñoVigente = Right(añoVigente, 2)
formato = Chr(34) & strAñoVigente & "/" & Chr(34) & "00000"
With Sheets(1)
.Range(.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), .Cells(Rows.Count, 1)).NumberFormat = formato
End With
With ActiveWorkbook.CustomDocumentProperties
ActiveWorkbook.CustomDocumentProperties("AñoCarga").Delete
.Add Name:="AñoCarga", Type:=msoPropertyTypeNumber, LinkToContent:=False, Value:=añoVigente
End With
End Sub