Incremento de factura y guardado automático

Tengo una pequeña duda y os la quería comentar a ver si me la pidiais explicar, lo que pasa es que he creado una plantilla de una factura con excel y lo que me gustaría es automatizarla lo más posible que se pueda y pues lo que busco es poder hacer que cada vez abra una factura el numero de factura se incremente según el numero de factura por la cual vaya. Y otra pregunta es que me gustaría hacer una macro donde se pueda guardar la factura en mis documentos poniendo como nombre la referencia del numero de factura y el nombre del cliente con tan solo apretando un botón de formulario. Y mi tercera y ultima pregunta es si se pudiera hacer que las facturas se guarden según el trimestre en el que estemos osea crear cuatro carpetas donde cada una sea cada trimestre del año y cada vez que quiera guardar una factura se guarde en la carpeta del trimestre que estemos. Gracias si me podrías contestar ami pregunta no se si me habré echo entender.

1 respuesta

Respuesta
1
Vamos por partes.
1. Incremento de factura.
Crea un rango (llamémoslo, por ejemplo, Consecutivo)
Crea unas rutina (macro) que lo incremente en 1, cada vez que la llames.
Sub Incremento()
    Range("Consecutivo") = Range("Consecutivo") + 1
End Sub
2. Guardado automático con trimestre
Sub GuardarFactura()
Dim nombreArchivo As String
Dim Ruta As String
Dim Trimestre As String
    Select Case Select Case Month(Date)
    Case 1 To 3
         Trimestre = 1
    Case 4 To 6
         Trimestre = 2
    Case 7 To 9
         Trimestre = 3
    Case Else
         Trimestre = 4
    End Select
    Ruta = "C:\Documents and Settings\" & Application.UserName & "\" & Trimestre & "\"
    nombreArchivo = Ruta & NombreCliente & Range("Consecutivo")
' Ten en cuenta que NombreCliente lo debes asignar previamente.
     ActiveWorkBook. SaveAs nombreArchivo
End Sub
Algo así es lo que necesitas.
Suerte.
Hola ghod sabes gracias por tu respuesta, me sirvió pero en parte, ahora lo que te quiero proponer es que me ayudes hacer lo siguiente con una macro te lo agradecería muchísimo.
Mira me gustaría poner una macro en mi factura" claro con tu ayuda" que guardara mis facturas con numero de factura y nombre cliente pero que también pueda realizar la creación de carpetas según el año y el trimestre en el que estemos para que se vayan guardando las facturas ahí en esa ubicación. Por ejemplo Tengo en mis documentos la carpeta Facturas "vacía claro" y quiero que con la macro cuando vaya a guardar una factura con un botón de formularios, quiero que automáticamente se cree la carpeta del año en el que estemos " claro dentro de carpeta Facturas" y dentro de esa carpeta se cree otra del trimestre en el que estamos osea el 2 trimestre y ahí se guarden las facturas de dicho trimestre. Es que lo quiero así porque conforme pasen los años y los trimestres quiero que se vayan creando solas las carpetas y guardando en su respectivas carpetas de años y trimestres.
Otra pegunta más mira tengo una celda donde el numero de factura se incrementa a uno automáticamente. El numero de factura comienza por A-2009/001 pero cuando le doy a guardar ya que se guardara por el numero de factura me dice error 1004 y es por la "/" que lleva entre 2009 y 001 porque he probado quitándola y si me funciona y por eso quisiera saber si me pudieras decir que ponerle al a macro para que me acepta la barra esta "/" y no me de error. El numero de factura esta en una sola celda por si te sirve de algo.
Bueno eso es todo te estaría agradecido muchísimo si me ayudas con esto es que lo necesito por favor de antemano te agradezco por lo que me respondiste anteriormente, me sirvió pero no para terminar con esto. Gracias y espero que no te mosleste ok
Te respondo prinero lo último que preguntaste.
El / (Slash), a igual que el Back slash (\) son caracteres especiales para el sistema operativo (Windows). Esto significa que no pueden ser utilizados como parte del nombre de un archivo.
En su lugar, deberás sustituirlo por otro carácter.
Respecto a la creación de las carpetas para el año respectivo de la factura, deberás hacer lo siguiente:
1. Asignar a una variable el año
2. Validar si ya existe una carpeta con este nombre. Si no existe, pues la creas.
3. Hacer para el trimestre lo mismo que para el año (repetir pasos 1 y 2)
El siguiente código te servirá como ejemplo. Pégalo en la parte de tu macro donde lo requieras.
Option Explicit
Sub test()
Dim miCarpeta As String
Dim año As Integer
Dim trimestre As Integer
Dim ruta As String
Dim existe
     ruta = "C:\Temp"
     año = 2009
     trimestre = 1
     existe = Dir(ruta & "\" & año, vbDirectory)
     If existe = "" Then ' no existe la carpeta año
        MkDir ruta & "\" & año
     End If
     existe = Dir(ruta & "\" & año & "\" & trimestre, vbDirectory)
     If existe = "" Then ' no existe la carpeta trimestre
        MkDir ruta & "\" & año & "\" & trimestre
     End If
End Sub
Por favor, no olvides calificar y finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas