我在一个工作表中有几个包含常量数据的命名范围。我有一个目标范围,其中一个命名范围将被复制到另一个工作表上。
将根据用户输入到其他单元格中选择将被复制的命名范围。我设法在单个单元格中创建了相关命名范围的名称。
我不能做的(因为我是一个 VBA 菜鸟,他认为他可以在不使用 VBA 的情况下完成所有这些工作!),是创建一个读取相关单元格的宏,然后将它读取的任何名称范围复制到目标范围.
任何帮助都非常谦卑和感激地接受。
我在一个工作表中有几个包含常量数据的命名范围。我有一个目标范围,其中一个命名范围将被复制到另一个工作表上。
将根据用户输入到其他单元格中选择将被复制的命名范围。我设法在单个单元格中创建了相关命名范围的名称。
我不能做的(因为我是一个 VBA 菜鸟,他认为他可以在不使用 VBA 的情况下完成所有这些工作!),是创建一个读取相关单元格的宏,然后将它读取的任何名称范围复制到目标范围.
任何帮助都非常谦卑和感激地接受。
假设您的范围名称是MyRange
所以要复制你必须这样做的范围
Range("MyRange").Copy
现在让我们假设 Cell A1 ofSheet1
有单词MyRange
。在这种情况下,您可以使用检索单元格 A1 的值Range("A1").Value
所以
Range("MyRange").Copy
变成
Range(Range("A1").Value).Copy
这是一个完整的例子。我假设您要复制到 Sheet2 的单元格 A1
Sub Sample()
Dim wsI As Worksheet, wsO As Worksheet
Set wsI = ThisWorkbook.Sheets("Sheet1")
Set wsO = ThisWorkbook.Sheets("Sheet2")
wsI.Range(wsI.Range("A1").Value).Copy wsO.Range("A1")
End Sub
我不确定这是否是您需要的,但是,例如,如果您只需要将 A1 单元格的内容从 sheet1 复制到 sheet2,只需执行以下操作:
Plan2.Cells(1, 1).Value = Plan1.Cells(1, 1).Value
您也可以将代码封装到一个子中:
Sub copyvalues()
Plan2.Cells(1, 1).Value = Plan1.Cells(1, 1).Value
End Sub
...最后,您必须插入一个按钮,使用 onclick() 事件来触发 sub(您必须将其分配到模块中)
对不起我的英语不好,希望对你有帮助。
Public Function copyNamevalues(srcName As Name, destName As Name)
srcName.RefersToRange.Cells.Copy (destName.RefersToRange.Cells)
End Function