VBA:将命名范围粘贴为值

时间:2014-03-05 22:22:51

标签: vba dynamic copy range paste

我有一个动态命名范围,称之为" MYRange"在工作表" Data1"。动态我的意思是范围编码为

=offset(A1,0,0, COUNTA(A:A),1). 

填充这些单元格的实际值是通过vlookup完成的。我想将此范围复制到名为" Data2"的另一个工作簿中。作为值,否则我会得到参考问题。

谢谢!

3 个答案:

答案 0 :(得分:2)

要复制两个范围之间的值,请使用:

Range("MyDestRange").Value = Range("MySrcRange").Value

确保两个范围的形状和细胞数相同。您可以使用.Resize().Offset()方法对这些方法进行操作,以获得所需内容。

答案 1 :(得分:2)

假设您的命名区域的名称类似于“MyRange”,如下所示:

Dim srcRange as Range, destRange as Range

Set srcRange = Range("MyRange")
Set destRange = Workbooks("Data2").Worksheets(1).Range("A1").Resize(srcRange.Rows.Count, srcRange.Columns.Count)

destRange.Value = srcRange.Value

答案 2 :(得分:0)

Range("Named_Range_Name_Here").copy

Range("Sheet_Name").Range("Cell Reference").PasteSpecial Paste:=xlPasteValues

粘贴到单个单元格将像粘贴数据一样粘贴数据。除非您选择对它进行转置,否则它将从此处开始粘贴并将名称范围向下粘贴。

相关问题