PC Review


Reply
Thread Tools Rate Thread

adding arrays from multiple workbooks

 
 
Neil Eves
Guest
Posts: n/a
 
      28th Mar 2008
Hi,

I have a number of workbooks in a folder (number varies) which I have to
open and add the values of the same range ("F15:M34") in each workbook into
a summary workbook.

The code below works, but to me appears long winded, is there an easier more
efficient way of writing this code. This is the first time I have had a go
at using arrays.

thanks in advance
Neil

Dim myValues(160) As Long
Dim MyPath As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
MyPath = ActiveWorkbook.Path
On Error Resume Next
Set wbCodeBook = ThisWorkbook

With Application.FileSearch
.NewSearch
.LookIn = MyPath
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For lCount = 2 To .FoundFiles.Count
Set wbResults =
Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)

For A = 1 To 20
myValues(A) = myValues(A) +
ActiveSheet.Range("F" & 14 + A).Value
Next A
For B = 21 To 40
myValues(B) = myValues(B) +
ActiveSheet.Range("G" & -6 + B).Value
Next B
For c = 41 To 60
myValues(c) = myValues(c) +
ActiveSheet.Range("H" & -26 + c).Value
Next c
For d = 61 To 80
myValues(d) = myValues(d) +
ActiveSheet.Range("I" & -46 + d).Value
Next d
For e = 81 To 100
myValues(e) = myValues(e) +
ActiveSheet.Range("J" & -66 + e).Value
Next e
For f = 101 To 120
myValues(f) = myValues(f) +
ActiveSheet.Range("K" & -86 + f).Value
Next f
For g = 121 To 140
myValues(g) = myValues(g) +
ActiveSheet.Range("L" & -106 + g).Value
Next g
For h = 141 To 160
myValues(h) = myValues(h) +
ActiveSheet.Range("M" & -126 + h).Value
Next h

'Close the workbook you opened
wbResults.Close SaveChanges:=True

Next lCount
End If
End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
For i = 1 To 20
ActiveSheet.Range("F" & 14 + i).Value = myValues(i)
Next i
For j = 21 To 40
ActiveSheet.Range("g" & -6 + j).Value = myValues(j)
Next j
For k = 41 To 60
ActiveSheet.Range("h" & -26 + k).Value = myValues(k)
Next k
For l = 61 To 80
ActiveSheet.Range("i" & -46 + l).Value = myValues(l)
Next l
For m = 81 To 100
ActiveSheet.Range("j" & -66 + m).Value = myValues(m)
Next m
For n = 101 To 120
ActiveSheet.Range("k" & -86 + n).Value = myValues(n)
Next n
For o = 121 To 140
ActiveSheet.Range("l" & -106 + o).Value = myValues(o)
Next o
For p = 141 To 160
ActiveSheet.Range("m" & -126 + p).Value = myValues(p)
Next p

 
Reply With Quote
 
 
 
 
NeilE
Guest
Posts: n/a
 
      28th Mar 2008
no worries, I have worked it out.

Set chkRange = ActiveSheet.Range("F15:m34")
For A = 1 To 160
myValues(A) = myValues(A) + chkRange(A).Value
Next A

"Neil Eves" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi,
>
> I have a number of workbooks in a folder (number varies) which I have to
> open and add the values of the same range ("F15:M34") in each workbook
> into a summary workbook.
>
> The code below works, but to me appears long winded, is there an easier
> more efficient way of writing this code. This is the first time I have had
> a go at using arrays.
>
> thanks in advance
> Neil
>
> Dim myValues(160) As Long
> Dim MyPath As String
>
> Application.ScreenUpdating = False
> Application.DisplayAlerts = False
> Application.EnableEvents = False
> MyPath = ActiveWorkbook.Path
> On Error Resume Next
> Set wbCodeBook = ThisWorkbook
>
> With Application.FileSearch
> .NewSearch
> .LookIn = MyPath
> .FileType = msoFileTypeExcelWorkbooks
> If .Execute > 0 Then
> For lCount = 2 To .FoundFiles.Count
> Set wbResults =
> Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
>
> For A = 1 To 20
> myValues(A) = myValues(A) +
> ActiveSheet.Range("F" & 14 + A).Value
> Next A
> For B = 21 To 40
> myValues(B) = myValues(B) +
> ActiveSheet.Range("G" & -6 + B).Value
> Next B
> For c = 41 To 60
> myValues(c) = myValues(c) +
> ActiveSheet.Range("H" & -26 + c).Value
> Next c
> For d = 61 To 80
> myValues(d) = myValues(d) +
> ActiveSheet.Range("I" & -46 + d).Value
> Next d
> For e = 81 To 100
> myValues(e) = myValues(e) +
> ActiveSheet.Range("J" & -66 + e).Value
> Next e
> For f = 101 To 120
> myValues(f) = myValues(f) +
> ActiveSheet.Range("K" & -86 + f).Value
> Next f
> For g = 121 To 140
> myValues(g) = myValues(g) +
> ActiveSheet.Range("L" & -106 + g).Value
> Next g
> For h = 141 To 160
> myValues(h) = myValues(h) +
> ActiveSheet.Range("M" & -126 + h).Value
> Next h
>
> 'Close the workbook you opened
> wbResults.Close SaveChanges:=True
>
> Next lCount
> End If
> End With
> On Error GoTo 0
> Application.ScreenUpdating = True
> Application.DisplayAlerts = True
> Application.EnableEvents = True
> For i = 1 To 20
> ActiveSheet.Range("F" & 14 + i).Value = myValues(i)
> Next i
> For j = 21 To 40
> ActiveSheet.Range("g" & -6 + j).Value = myValues(j)
> Next j
> For k = 41 To 60
> ActiveSheet.Range("h" & -26 + k).Value = myValues(k)
> Next k
> For l = 61 To 80
> ActiveSheet.Range("i" & -46 + l).Value = myValues(l)
> Next l
> For m = 81 To 100
> ActiveSheet.Range("j" & -66 + m).Value = myValues(m)
> Next m
> For n = 101 To 120
> ActiveSheet.Range("k" & -86 + n).Value = myValues(n)
> Next n
> For o = 121 To 140
> ActiveSheet.Range("l" & -106 + o).Value = myValues(o)
> Next o
> For p = 141 To 160
> ActiveSheet.Range("m" & -126 + p).Value = myValues(p)
> Next p



 
Reply With Quote
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Adding a Row to Multiple Workbooks =?Utf-8?B?TFBT?= Microsoft Excel Misc 0 31st May 2007 05:04 PM
Adding formula to multiple workbooks =?Utf-8?B?QmFyYiBSZWluaGFyZHQ=?= Microsoft Excel Programming 4 5th Oct 2005 05:01 PM
Adding multiple workbooks together =?Utf-8?B?S2VpdGg=?= Microsoft Excel Misc 1 8th Aug 2005 09:39 PM
adding certain cells in multiple worksheets in multiple workbooks Stephen via OfficeKB.com Microsoft Excel Worksheet Functions 1 4th Feb 2005 08:31 PM
Adding cells from multiple workbooks =?Utf-8?B?QmxhY2tjYXQ=?= Microsoft Excel Misc 6 19th Jan 2005 09:50 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 01:17 AM.