VBA尝试使用range.offset与一个命名variables中的单元格地址

我正在尝试从一个工作簿中获取一个小数据matrix,并使用单元格引用的偏移量将其粘贴到ThisWorkbook中。 单元格引用发生变化,但是我正在循环查找值的范围。 我设置的名为“WhereCell”的variables保存了当前保存的值的地址,我想从WhereCell中的任何地方进行偏移。 它工作,如果我硬编码单元格引用,如范围(“A1”),但与代码,因为它是我得到一个1004:对象'_Global'的方法'范围'失败。

我怎样才能改变它来抵消'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.Offset(0, 2)).PasteSpecial Paste:=xlPasteValues 

而不是这个:

 ThisWorkbook.ActiveSheet.Range(Range(WhereCell), Range(WhereCell).Offset(, 2)).PasteSpec... 

要更多地了解WhereCell ,请考虑编写

 Debug.Print WhereCell.Parent.Name Debug.Print WhereCell.Parent.Parent.Name Debug.Print WhereCell.Address 

宣布后。 它会显示其工作表,即时窗口中的应用程序名称和地址。 因此,它已经“知道”他们,如果你试图“重新声明”他们,你会得到一个错误。