Open four Wbooks, copy four columns from each to Master Wbook
Hi Howard,
Am Sun, 1 Dec 2013 23:51:19 -0800 (PST) schrieb Howard:
With copyArr(i)
Set rangeA = Range("A1:A" & lCol1)
you did not refer to a sheet.
Try:
Sub MondayMornCopy2()
Dim lCol1 As Long, lCol2 As Long, lCol3 As Long, lCol4 As Long
Dim rangeA As Variant, rangeD As Variant, rangeF As Variant, rangeJ As
Variant
Dim copyArr As Variant
Dim i As Long
Const myPath = "C:\Users\Howard Kittle\Documents\"
copyArr = Array("Idaho", "Montana", "Wyoming", "Nebraska")
Application.ScreenUpdating = False
For i = LBound(copyArr) To UBound(copyArr)
Workbooks.Open myPath & copyArr(i) & ".xlsm"
With ActiveWorkbook.Sheets("Sheet1")
lCol1 = .Cells(.Rows.Count, 1).End(xlUp).Row
lCol2 = .Cells(.Rows.Count, 4).End(xlUp).Row
lCol3 = .Cells(.Rows.Count, 6).End(xlUp).Row
lCol4 = .Cells(.Rows.Count, 10).End(xlUp).Row
rangeA = .Range("A1:A" & lCol1)
rangeD = .Range("D1:D" & lCol2)
rangeF = .Range("F1:F" & lCol3)
rangeJ = .Range("J1:J" & lCol4)
Workbooks("Master.xlsm").Sheets("Sheet1") _
.Range("A" & Rows.Count).End(xlUp)(2).Resize(rowsize:=lCol1) =
rangeA
Workbooks("Master.xlsm").Sheets("Sheet1") _
.Range("D" & Rows.Count).End(xlUp)(2).Resize(rowsize:=lCol2) =
rangeD
Workbooks("Master.xlsm").Sheets("Sheet1") _
.Range("F" & Rows.Count).End(xlUp)(2).Resize(rowsize:=lCol3) =
rangeF
Workbooks("Master.xlsm").Sheets("Sheet1") _
.Range("J" & Rows.Count).End(xlUp)(2).Resize(rowsize:=lCol4) =
rangeJ
ActiveWorkbook.Close savechanges:=True
End With
Next
Application.ScreenUpdating = True
End Sub
Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
|