我正在编写一个宏来进行复杂的复制/粘贴练习。从概念上讲,这很简单,但我被困在一个地方。所有不同的数据块都用不同的命名范围来标识。我需要遍历这个名称列表,将每个名称作为参数传递给函数(实际上是一个子例程,但想法相同)。数据源位于一个工作簿中,而目标位于另一个工作簿中。
这是我所拥有的(仅用于一个数据块):
Private Sub copyABU()
copyPaste(ThisWorkbook.Names("myRange1").RefersToRange)
copyPaste(ThisWorkbook.Names("myRange2").RefersToRange)
copyPaste(ThisWorkbook.Names("myRange3").RefersToRange)
//etc
End Sub
Private Sub copyPaste(thisRange As Range)
Windows(someworkbook).Range(thisRange).Copy
Range(thisRange).PasteSpecial Paste:=xlPasteValues
End Sub
不幸的是,我得到了一个运行时错误。我认为存在类型不匹配,但我不确定这一点,也无法弄清楚我错过了什么。谁能明白为什么这会失败?(我使用的是 Excel 2010)。
谢谢!