Guardar factura.

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Guardar factura.

Notapor samurai » 01 Ene 2012 10:43

Hola buenas!! Y Feliz Año!!

Tengo este codigo que es copiado y adaptado (no llego a tanto y puede no estar bien) para guardar la factura, y funciona "casi" bien.

El problema que me da es que a veces borra una factura anterior, he probado cambiando varias cosas pero siempre en algun momento pasa lo mismo. No se donde esta el problema.

Código: Seleccionar todo
Sheets("BDFacturas").Select
    ActiveSheet.Unprotect
With Worksheets("BDFacturas")
fila = 3
Do While True
If IsEmpty(.Cells(fila, 3)) Then Exit Do
fila = fila + 1 '
Loop

.Cells(fila, 2) = Worksheets("Factura").Range("N29").Value
.Cells(fila, 3) = Worksheets("Factura").Range("J29").Value
.Cells(fila, 4) = Worksheets("Factura").Range("Q24").Value
.Cells(fila, 5) = Worksheets("Factura").Range("E7").Value
.Cells(fila, 6) = Worksheets("Factura").Range("E9").Value
.Cells(fila, 7) = Worksheets("Factura").Range("P9").Value
.Cells(fila, 8) = Worksheets("Factura").Range("C28").Value
.Cells(fila, 9) = Worksheets("Factura").Range("D28").Value
.Cells(fila, 10) = Worksheets("Factura").Range("E28").Value
.Cells(fila, 11) = Worksheets("Factura").Range("F28").Value
.Cells(fila, 12) = Worksheets("Factura").Range("G28").Value
.Cells(fila, 13) = Worksheets("Factura").Range("H28").Value
.Cells(fila, 14) = Worksheets("Factura").Range("I28").Value
.Cells(fila, 15) = Worksheets("Factura").Range("J28").Value
.Cells(fila, 16) = Worksheets("Factura").Range("K28").Value
.Cells(fila, 17) = Worksheets("Factura").Range("L28").Value
.Cells(fila, 18) = Worksheets("Factura").Range("M28").Value
.Cells(fila, 19) = Worksheets("Factura").Range("Q28").Value
.Cells(fila, 20) = Worksheets("Factura").Range("Q26").Value
.Cells(fila, 21) = Worksheets("Factura").Range("Q40").Value
.Cells(fila, 22) = Worksheets("Factura").Range("H25").Value
.Cells(fila, 23) = Worksheets("Factura").Range("L26").Value
.Cells(fila, 24) = Worksheets("Factura").Range("C32").Value
.Cells(fila, 25) = Worksheets("Factura").Range("L32").Value
.Cells(fila, 26) = Worksheets("Factura").Range("Q32").Value
.Cells(fila, 27) = Worksheets("Factura").Range("C33").Value
.Cells(fila, 28) = Worksheets("Factura").Range("L33").Value
.Cells(fila, 29) = Worksheets("Factura").Range("Q33").Value
.Cells(fila, 30) = Worksheets("Factura").Range("C34").Value
.Cells(fila, 31) = Worksheets("Factura").Range("L34").Value
.Cells(fila, 32) = Worksheets("Factura").Range("Q34").Value
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
 Sheets("Factura").Select
ActiveSheet.Unprotect
Worksheets("Factura").Range("Q24").Value = Worksheets("Factura").Range("Q24") + 1
Range("E7,C28,D28,E28,F28,G28,H28,I28,J28,K28,L28,M28,L26,C32,L32,J29,N29,O32,C33,L33,O33,C34,L34,O34").Select
    Selection.ClearContents

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True




Saludos!!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
samurai
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Jun 2011 13:16

Re: Guardar factura.

Notapor Antoni » 01 Ene 2012 15:33

Hola:

Al no tener el archivo no puedo asegurar cual es el motivo del error, pero intuyo que es un problema a la hora de determinar la ubicación de la factura.

Prueba con:

Código: Seleccionar todo
Sheets("BDFacturas").Select
ActiveSheet.Unprotect

'Obtener primera fila libre
fila = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1

With ActiveSheet
   .Cells(fila, 2) = Worksheets("Factura").Range("N29").Value
   .Cells(fila, 3) = Worksheets("Factura").Range("J29").Value
   .Cells(fila, 4) = Worksheets("Factura").Range("Q24").Value
   .Cells(fila, 5) = Worksheets("Factura").Range("E7").Value
   .Cells(fila, 6) = Worksheets("Factura").Range("E9").Value
   .Cells(fila, 7) = Worksheets("Factura").Range("P9").Value
   .Cells(fila, 8) = Worksheets("Factura").Range("C28").Value
   .Cells(fila, 9) = Worksheets("Factura").Range("D28").Value
   .Cells(fila, 10) = Worksheets("Factura").Range("E28").Value
   .Cells(fila, 11) = Worksheets("Factura").Range("F28").Value
   .Cells(fila, 12) = Worksheets("Factura").Range("G28").Value
   .Cells(fila, 13) = Worksheets("Factura").Range("H28").Value
   .Cells(fila, 14) = Worksheets("Factura").Range("I28").Value
   .Cells(fila, 15) = Worksheets("Factura").Range("J28").Value
   .Cells(fila, 16) = Worksheets("Factura").Range("K28").Value
   .Cells(fila, 17) = Worksheets("Factura").Range("L28").Value
   .Cells(fila, 18) = Worksheets("Factura").Range("M28").Value
   .Cells(fila, 19) = Worksheets("Factura").Range("Q28").Value
   .Cells(fila, 20) = Worksheets("Factura").Range("Q26").Value
   .Cells(fila, 21) = Worksheets("Factura").Range("Q40").Value
   .Cells(fila, 22) = Worksheets("Factura").Range("H25").Value
   .Cells(fila, 23) = Worksheets("Factura").Range("L26").Value
   .Cells(fila, 24) = Worksheets("Factura").Range("C32").Value
   .Cells(fila, 25) = Worksheets("Factura").Range("L32").Value
   .Cells(fila, 26) = Worksheets("Factura").Range("Q32").Value
   .Cells(fila, 27) = Worksheets("Factura").Range("C33").Value
   .Cells(fila, 28) = Worksheets("Factura").Range("L33").Value
   .Cells(fila, 29) = Worksheets("Factura").Range("Q33").Value
   .Cells(fila, 30) = Worksheets("Factura").Range("C34").Value
   .Cells(fila, 31) = Worksheets("Factura").Range("L34").Value
   .Cells(fila, 32) = Worksheets("Factura").Range("Q34").Value
   .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With

Sheets("Factura").Select
ActiveSheet.Unprotect
Worksheets("Factura").Range("Q24").Value = Worksheets("Factura").Range("Q24") + 1
Range("E7,C28,D28,E28,F28,G28,H28,I28,J28,K28,L28,M28,L26,C32,L32,J29,N29,O32,C33,L33,O33,C34,L34,O34").Select
Selection.ClearContents
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True


Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Guardar factura.

Notapor samurai » 01 Ene 2012 16:44

He probado y asi no me guarda nada.

Como lo tengo me guarda bien, pero a veces me borra una anterior.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
samurai
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Jun 2011 13:16

Re: Guardar factura.

Notapor samurai » 01 Ene 2012 16:46

Perdon no veo como editar.

El archivo lo tengo pero con datos personales, si es necesario intento una adaptacion.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
samurai
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Jun 2011 13:16

Re: Guardar factura.

Notapor Antoni » 01 Ene 2012 16:53

Sin el archivo no se puede hacer nada.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Guardar factura.

Notapor samurai » 02 Ene 2012 14:23

Buenas!!!

He copiado a un nuevo libro lo esencial, Factura y BDFacturas.
La parte de arriba de la factura (datos) se llena con formulas, y la parte de la factura desde un Userform, lo comento por si influye, ya que ahora no esta.

Saludos!!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
samurai
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Jun 2011 13:16

Re: Guardar factura.

Notapor Antoni » 03 Ene 2012 08:18

Hola:

A ver samurai, que parece que tengas la katana de madera, todos tus problemas vienen derivados de tener datos mas allá de la fila 20.000, y si que graba las facturas, pero a partir de esa fila.

He eliminado todas las filas que sobraban y he hecho un par de modificaciones a la macro, de manera que cada vez que grabes una factura, se copiará el formato de la línea 3, de esta manera no tienes porqué tener formateada toda la hoja.

Saludos y feliz año nuevo

PD: Observa el tamaño del archivo y compáralo con el del original
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Guardar factura.

Notapor samurai » 03 Ene 2012 14:13

jajaj muy bueno eso de la Katana de madera jajajaj :lol:

Pues valla fallo a ver como se colo eso tan abajo, despiste mio seguramente.

Pues si, esta mucho mejor asi y mas ligero.

Estoy probando y creo que esta solucionado.

Muchas gracias por tu ayuda Antoni.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
samurai
Miembro Frecuente
Miembro Frecuente
 
Registrado: 03 Jun 2011 13:16

Re: Guardar factura.

Notapor angeluz_ultimate » 04 Ene 2012 18:38

Hola estoy construyendo una programa de facturación, pero me he topado con un pequeño problema el cual lleva por nombre "Stock" la verdad no se como puedo hacer que se descargue de mi inventario la cantidad del producto que se ha facturado, claro que esta se descargue del producto correspondiente. por ejemplo.
Tengo las columanas:
Codigo Descripcion del Producto Cantidad
A2:A100 B2:B100 C2:C100 quisiera que la cantidad del inventario se actualizara a la hora de generar una venta.
En espera de sus comentarios muchas gracias.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
angeluz_ultimate
Miembro Nuevo
Miembro Nuevo
 
Registrado: 28 Dic 2011 03:03

Re: Guardar factura.

Notapor Antoni » 05 Ene 2012 07:08

Sin el archivo no se puede hacer nada.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 8 invitados