Доброго времени суток,
небольшой вопрос по работе с массивами. необходимо взять данные (столбцы с данными) из ячеек (с одинаковыми координатами )на нескольких листах и выгрузить на лист заданный лист столбец за столбцом. то есть, чтобы в первом столбце были данные с первого листа, во втором со второго и т.д. Попытался таким образом сделать цикл, но он не работает почему то.
Код |
---|
Sub Result_rpt()
Dim A()
For i = 0 To 11 - 1
With Sheets("Лист" & CStr(i + 1))
A = .Range(.Cells(16, 3), .Cells(579, 3)).Value
End With
Sheets("результат").Range(Sheets("результат").Cells(1, 1 + i)).Resize(564, 1) = A
Next i
End Sub
|
П.С. просто копированием не интересно, хочется как по умному через массив
Код |
---|
Sub Result_rpt_copypaste()
Dim iNumberAll As Integer
Dim iNumber As Integer
iNumberAll = InputBox("Введите количество листов")
For iNumber = 0 To iNumberAll - 1
Sheets("Лист" & CStr(iNumber + 1)).Select
Range("C16").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("результат").Select
Worksheets("результат").Cells(1, 2 + iNumber).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Sheets("Лист" & CStr(iNumber + 1)).Select
Sheets("результат").Select
Next iNumber
End Sub
|