historico de facturas

14/04/2009 - 16:09 por gongi | Informe spam
With Worksheets("liquidacion")
'el orden el array es el orden en el que se vuelcan el histórico'

Generales = Array(.[b2], .[d53], .[d54], .[b7], .[b3], .[b4], .
[b5], .[b56], .[c56], .[d56], .[b57], .[c57], .[d57], .[b10], .[b11], .
[b12], .[b8], .[b13], .[f27], .[g34])

Datos_Factura = Array(.[b3], .[b2], .[b7], .[b8], .[d53], .[d54], .
[d55], .[b4], [b13])

Datos_Clientes = Array(.[b2], .[b4], .[b5])
n = Application.Count(.[f54:f62]) 'cuenta el nº de cobros'

Cobros = Array(.[f54].Resize(n).Value, .[g54].Resize(n).Value, .
[h54].Resize(n).Value) 'Array dinamico cambia de tamaño segun n'

'para salvar la notación de "mes" '
Mes = Evaluate("index
({""enero"",""febrero"",""marzo"",""abril"",""mayo""," & _

"""junio"",""julio"",""agosto"",""septiembre"",""octubre""," & _
"""noviembre"",""diciembre""},month(" & .
[b3].Address(, , , 1) & "))")
'coger el año de la fecha para volcar en resumen'

Ejercicio = Year(.[b3])


End With
'volcar los datos en el resumen de cobros'

With Workbooks("historico").Worksheets("desglose cobros")


With .Range("a" & .Range("f" & Rows.Count).End(xlUp).Row) 'HALLA
EL FINAL DEL RANGO PARA COLOCAR A PARTIR DE AHI'
.Offset(1).Resize(, 3) = Datos_Clientes 'llena la
primera fila hasta la columan 10'
'.Offset(1, 8) = n coloca en contador en la ultima columa '
For Col = 0 To 2 'segun el n de columnas a llenar detalle
de cobros 3 0-1-2'
.Offset(1, 3 + Col).Resize(n) = Cobros(Col)
Next
End With

End With

Por favor, Hector, con este código capturo datos de la factura para
volcarlos en un histórico:En concreto en la hoja desglose de cobros,
como se ha cobrado la factura. Se llena la primera fila con los datos
del cliente y hacia abajo el desglose de cobros.

5005-09 AZC JUAN JOSE DIAZ 920 BBVA 02/01/2009
920 BBVA 02/01/2009
920 BBVA 02/01/2009
920 BBVA 02/01/2009
920 BBVA 02/01/2009
Se pueden "ocupar" también las filas y columnas que quedan vacías,
aunque sea repetir los datos del cliente ?
Es que si no pierdo funcionalidad para filtrado ,ordenado, etc.
Muchas gracias por la ayuda
 

Leer las respuestas

#1 Héctor Miguel
14/04/2009 - 21:46 | Informe spam
hola, domingo !

(segun parece) lo unico que necesitas es completar (las filas) en el "resize" con el que depositas los "Datos_Clientes"

de:
.Offset(1).Resize(, 3) = Datos_Clientes 'llena la primera fila hasta la columan 10'

a:
.Offset(1).Resize(n, 3) = Datos_Clientes 'llena la primera fila hasta la columan 10'

saludos,
hector.

__ OP __
... con este codigo capturo datos de la factura para volcarlos en un historico:
En concreto en la hoja desglose de cobros, como se ha cobrado la factura.
Se llena la primera fila con los datos del cliente y hacia abajo el desglose de cobros.



5005-09 AZC JUAN JOSE DIAZ 920 BBVA 02/01/2009
920 BBVA 02/01/2009
920 BBVA 02/01/2009
920 BBVA 02/01/2009
920 BBVA 02/01/2009

Se pueden "ocupar" también las filas y columnas que quedan vacias, aunque sea repetir los datos del cliente ?
Es que si no pierdo funcionalidad para filtrado ,ordenado, etc...



__ el codigo expuesto __

With Worksheets("liquidacion")

'el orden el array es el orden en el que se vuelcan el historico'
Generales = Array(.[b2], .[d53], .[d54], .[b7], .[b3], .[b4], .[b5], .[b56], .[c56], .[d56], .[b57], .[c57], .[d57], .[b10], .[b11], .[b12], .[b8], .[b13], .[f27], .[g34])

Datos_Factura = Array(.[b3], .[b2], .[b7], .[b8], .[d53], .[d54], .[d55], .[b4], [b13])

Datos_Clientes = Array(.[b2], .[b4], .[b5])
n = Application.Count(.[f54:f62]) 'cuenta el nº de cobros'

Cobros = Array(.[f54].Resize(n).Value, .[g54].Resize(n).Value, .[h54].Resize(n).Value) 'Array dinamico cambia de tamano segun n'
'para salvar la notación de "mes" '
Mes = Evaluate("index({""enero"",""febrero"",""marzo"",""abril"",""mayo""," & _
"""junio"",""julio"",""agosto"",""septiembre"",""octubre""," & _
"""noviembre"",""diciembre""},month(" & .[b3].Address(, , , 1) & "))")
'coger el a#o de la fecha para volcar en resumen'
Ejercicio = Year(.[b3])
End With

'volcar los datos en el resumen de cobros'
With Workbooks("historico").Worksheets("desglose cobros")
With .Range("a" & .Range("f" & Rows.Count).End(xlUp).Row) 'HALLA EL FINAL DEL RANGO PARA COLOCAR A PARTIR DE AHI'
.Offset(1).Resize(, 3) = Datos_Clientes 'llena la primera fila hasta la columan 10'
'.Offset(1, 8) = n coloca en contador en la ultima columa '
For Col = 0 To 2 'segun el n de columnas a llenar detalle de cobros 3 0-1-2'
.Offset(1, 3 + Col).Resize(n) = Cobros(Col)
Next
End With
End With

Preguntas similares