Can I store a whole range of data in a Variant and then write it to another sheet?
The code below currently writes only the first cells value into the destination sheet?
TX
Code: Select all
Sub ProcessCapital()
Dim varResult As Variant, i As Integer
Dim sBranch As String, sCat As String, sAccNo As String, sActWB As String
Dim vItem1 As Variant, vItem2 As Variant, vItem3 As Variant
varResult = Application.GetOpenFilename _
(FileFilter:="Excel Files, *.xls*", MultiSelect:=True)
For i = LBound(varResult) To UBound(varResult)
Workbooks.Open Filename:=varResult(i), UpdateLinks:=False
sActWB = ActiveWorkbook.Name
Sheets("Capital").Select
sBranch = Range("A2").Value
sCat = Mid(Range("A10").Value, 9, Len(Range("A10").Value))
sAccNo = Mid(Range("A10").Value, 1, 5)
vItem1 = Range("A11:E29").Value
vItem2 = Range("A31:E55").Value
vItem3 = Range("A57:E67").Value
Workbooks(sActWB).Close False
Range("E1000000").End(xlUp).Offset(1, 0).Value = vItem1
Range("E1000000").End(xlUp).Offset(1, 0).Value = vItem2
Range("E1000000").End(xlUp).Offset(1, 0).Value = vItem3
Next i
End Sub