Crear carpeta desde Excel

Buenas,
Estoy realizando un pequeño programa para realizar una facturación a un amigo mio.
A la hora de guardar las facturas estas las voy a clasificar por año y mes.
La estructura del "programa" lo tengo en C:\Carpeta\Facturas donde tienen que depender de ella la carpeta del año que corresponde y dentro de esta el mes, es decir, c:\Carpeta\Facturas\año\mes\facturas.xls
¿Cómo puedo crear automáticamente, cada vez que cambio de año y mes dichas carpetas?
Por el momento tengo programado que cada primero de mes se creen las carpetas pero si el excel no se ejecuta el día 1 esto no va :S, te dejo el código:
If Day(Date) = 1 Then
MkDir "C:\carpeta\Facturas\" & año
MkDir "C:\carpeta\Facturas\" & año & "\" & mes
Sheets("Facturas").Select
Range("A1").Select
If Month(Date) = 1 Then
'se tiene que borrar las facturas del año pasado
Selection.End(xlToLeft).Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
numero = ActiveCell.Row - 1
Range("A2:F" & numero).Select
Selection.ClearContents
End If
End If

1 respuesta

Respuesta
1
La mejor manera es controlando el posible error que pueda darte al tratar de crear una carpeta, de esta manera no importa cuándo se ejecute (no podrás asegurar que será el día 2, 3 o 10, dependerá de feriados, domingos, etc)
Sub exportar()
'If Day(Date) = 1 Then
On Error Resume Next
MkDir "C:\carpeta\Facturas\" & año
On Error GoTo sigo
MkDir "C:\carpeta\Facturas\" & año & "\" & mes
Sheets("Hoja1").Select
Range("A1").Select
If Month(Date) = 1 Then
'se tiene que borrar las facturas del año pasado
Selection.End(xlToLeft).Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
numero = ActiveCell.Row - 1
Range("A2:F" & numero).Select
Selection.ClearContents
End If
'End If
Exit Sub
sigo:
End Sub
Pruébala y comentame si esto resuelve tu consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas