Попытка скопировать диапазон из одной рабочей книги в другую - в процессе будут выполняться другие задачи с набором данных, но это суть того, чего я хочу сейчас.Диапазон в исходной рабочей книге не является статичным;Это означает, что каждый раз при создании отчета необходимая информация будет отображаться в тех же столбцах, но не в тех же строках.В середине диапазона есть один пустой столбец и несколько столбцов, которые я буду игнорировать - наряду с некоторыми вычислениями / преобразованием данных.Чтобы попытаться помочь с несколько непредсказуемым характером расположения данных в исходной рабочей книге, я назвал свой диапазон как переменную в подпрограмме - я не уверен, что это проблема.Кажется, все работает, кроме случаев, когда я помещаю диапазон в массив.Вот что у меня есть:
Sub GetElemArray()
Dim fndrng As Range
Dim rEleAn As Range
Dim frst As Range
'the rest of the variables below are global
Workbooks(SheetName).Activate
Worksheets("Report").Activate
Columns(2).Select
Set fndrng = Selection.Find("Analyte")
Set frst = fndrng.Offset(1, 0)
Set rEleAn = Range(frst, fndrng.End(xlDown).End(xlToRight))
EleList = rEleAn.Rows.Count
ColList = rEleAn.Columns.Count
ReDim ElAr(0 To EleList, 0 To ColList)
For EleList = LBound(ElAR, 1) To UBound(ElAr, 1)
For ColList = LBound(ElAr, 2) To UBound(ElAr, 2)
'The following line returns the Runtime 1004 error
ElAr(EleList, ColList) = Range(frst).Offset(EleList, _
ColList).Value
Next ColList
Next EleList
Code to Do Other Stuff
End Sub
Просматривая окно Locals, я вижу, что rEleAn
хранит свои значения как .Value2
.Я попытался изменить Range на это свойство, и оно все равно вернуло ту же ошибку.Глядя в окно «Местные жители», все правильно расположено рядом, насколько я могу судить.
Есть идеи относительно того, что происходит?