VBA:将命名范围粘贴为值

VBA:将命名范围粘贴为值,vba,dynamic,copy,range,paste,Vba,Dynamic,Copy,Range,Paste,我有一个动态命名范围,在工作表“Data1”中称之为“MYRange”。我所说的动态是指范围编码为 =offset(A1,0,0, COUNTA(A:A),1). 填充这些单元格的实际值通过vlookup完成。我想将此范围作为值复制到另一个名为“Data2”的工作簿中,否则会出现引用问题 谢谢 要在两个范围之间复制值,请使用: Range("MyDestRange").Value = Range("MySrcRange").Value 确保两个区域的单元格形状和数量相同。您可以使用.Res

我有一个动态命名范围,在工作表“Data1”中称之为“MYRange”。我所说的动态是指范围编码为

=offset(A1,0,0, COUNTA(A:A),1). 
填充这些单元格的实际值通过vlookup完成。我想将此范围作为值复制到另一个名为“Data2”的工作簿中,否则会出现引用问题


谢谢

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

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

确保两个区域的单元格形状和数量相同。您可以使用
.Resize()
.Offset()
方法操作这些值,以获得所需的值。

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

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

确保两个区域的单元格形状和数量相同。您可以使用
.Resize()
.Offset()
方法来处理这些对象,以获得所需的内容。

假设您的命名范围具有类似“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

假设您的命名范围有一个类似“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
粘贴到单个单元格将像粘贴数据一样粘贴数据。它将从那里开始粘贴,并向下粘贴名称范围,除非您选择转置它


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

这是编程还是Excel中的公式操作?这是编程还是Excel中的公式操作?如何使MyDestRange动态?使用
.Offset()
函数,如
范围(“FixedAddress”).Offset(0,跳过)。Resize(N,1)
如何使MyDestRange动态?使用
.Offset()
函数,如
范围(“FixedAddress”).Offset(0,跳过)。调整大小(N,1)
谢谢!你回答了我的下一个问题谢谢!你回答了我的下一个问题