【发布时间】:2019-04-09 16:15:03
【问题描述】:
我必须将输入文件中的数据移动到另一个工作簿。数据在工作表中结构化为硬编码输入,如下所示,其中包含所有标识符的列是名为“INPUT_MARKER”的命名范围。
IQ_SALES 100 200 300
IS_MARGIN 20 30 40
IQ_EBITDA 50 30 20
我只需要移动一些数据。因此,例如在上面我只需要移动 IQ_SALES 数据和 IQ_EBITDA 数据。所以我需要了解如何创建一个仅包含所需数据的数组。
下面的代码将 INPUT_MARKER 列中的数据与名为“identifierArray”的数组中的元素进行比较,然后我打算将所有行数据插入名为“bigDataArray”的多维数组中。我尝试了几种方法,但无法完成这项工作。非常感谢任何帮助。我在下面省略了一些冗余代码,因此只包含与此问题相关的代码。
Sub Update()
Dim identifierArray(), bigDataArray() As Variant
Application.ScreenUpdating = False
Application.CutCopyMode = False
'Definition of the array of data that is to be transferred to the targetModel
identifierArray = Array("IQ_SALES", "IQ_EBITDA")
ReDim bigDataArray(1 To UBound(identifiersArray))
With Workbooks(sourceModel).Sheets("DATA")
For Each c In .Range("INPUT_MARKER")
For Each element In identifierArray
If element = c.Value Then
'To construct bigDataArray by inserting row data every time element equals c.Value
End If
Next element
Next c
End With
End Sub
【问题讨论】:
-
您的
INPUT_MARKER范围是否以列A开头?