【发布时间】:2018-02-28 09:45:46
【问题描述】:
我正在尝试从一个工作簿中获取一个小数据矩阵,并使用单元格引用的偏移量将其粘贴到 ThisWorkbook 中。但是,当我在一个范围内循环寻找值时,单元格引用会发生变化。我设置的名为“WhereCell”的变量保存了当前保存的值的地址,我想偏移 WhereCell 中保存的任何内容。如果我对单元格引用进行硬编码,例如 Range("A1"),但使用代码原样,我会得到 1004:对象 '_Global' 的方法 'range' 失败。
如何将其更改为从“WhereCell”偏移?
Sub GetFlows()
Dim rng As Range
Dim row As Range
Dim cell As Range
Dim dem1 As String
Dim WhereCell As Range
Dim valueRng As Range
Dim x As Long
Dim y As Long
Set rng = Range("A9:A200")
For x = 1 To rng.Rows.Count
dem1 = rng.Cells(x).Value
If dem1 <> "" Then
Set WhereCell = ThisWorkbook.ActiveSheet.Range("A9:A200").Find(dem1, lookat:=xlPart)
Windows("GetFilenames v2.xlsm").Activate
Worksheets(dem1).Range("A1").CurrentRegion.Copy
ThisWorkbook.ActiveSheet.Range(Range(WhereCell), Range(WhereCell).Offset(, 2)).PasteSpecial Paste:=xlPasteValues
'MsgBox dem1
'If Not WhereCell Is Nothing Then
'MsgBox WhereCell.Address
'End If
Else
ThisWorkbook.Activate
End If
Next x
End Sub
【问题讨论】:
-
Wherecell 已经是一个范围,您没有将其包装在
Range()中,请参阅我的答案以获得更多解释:stackoverflow.com/questions/46302871/…