sub Historico()
'Declaracion de variables'
Dim Generales, Datos_Clientes, Cobros, n As Byte, Col As Byte
Dim Datos_Factura, Mes As String
'capturar los datos de la plantilla de liquidacion'
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], .[a42], .[a43], .[a44], .[a45], .[a46], .[a34], .
[a35], .[a36], .[a37], .[a38], .[a39], .[a40], .[d52], .[f34], .
[d31], .[f27], .[a27])
Datos_Factura = Array(.[b3], .[b2], .[b7], .[b8], .[d53], .
[d54], .[d55], .[b4], [b13])
Datos_Clientes = Array(.[b2], .[b4], .[b5])
n = Application.Count(.[f54:f69]) '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 historico '
With Workbooks("historico.xlsm").Worksheets("historico")
' ver si ya existe el registro comprobando b7 = numero factura'
' If Workbooks("historico").Worksheets("historico").Range
("d65536").End(xlUp) = _
Worksheets("liquidacion").Range("b7") Then MsgBox "factura ya
registrada": Exit Sub
If Workbooks("historico.xlsm").Worksheets("historico").Range
("a65536").End(xlUp) = _
Worksheets("liquidacion").Range("b2") Then MsgBox "factura ya
registrada": Exit Sub
With .[a65536].End(xlUp)
.Offset(1).Resize(, 35) = Generales 'nº de columnas del
historico, debe coincidir con el tamaño del array '
' For Col = 0 To n - 1
' .Offset(1, 10 + Col * 3).Resize(, 3).Value = _
' Worksheets("liquidacion").[f54].Offset(Col).Resize(,
3).Value
' Next
End With
End With
Por favor, grupo, se puede , por código, volver o "rescatar" de los
elementos del array Generales, que he volcado en un histórico , que
saco de la hoja aquí llamada liquidación, a esa hoja de nuevo ? .Pero
esa hoja tiene formulas ,por lo que quizás sería mejor rescatarlos a
otra hoja , con el objeto de imprimir , revisar etc ?
Muchas gracias por la ayuda
Leer las respuestas