macros将命名范围从一个Worksheet复制到另一个
我有几个命名范围包含一个工作表中的常量数据。 我有一个目标范围,其中一个命名范围将被复制到另一个工作表上。
将被复制的命名范围是根据用户input到其他单元格中select的。 我已经设法在单个单元格中创build相关命名范围的名称。
我不能做的事情(因为我是一个VBA Noob,他以为他可以不使用VBA就可以做到这一点),就是创build一个读取相关单元格的macros,然后将所读取的任何名称范围复制到目标范围。
任何最谦虚和感激地接受的援助。
比方说,你的范围的名字是MyRange
所以要复制的范围,你必须做到这一点
Range("MyRange").Copy
现在让我们假设Sheet1
单元格A1具有单词MyRange
。 在这种情况下,可以使用Range("A1").Value
来检索单元格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
我不知道是否你需要什么,但是,如果你只需要从Sheet1的A1单元格的内容复制到Sheet2例如,只需要这样做:
Plan2.Cells(1, 1).Value = Plan1.Cells(1, 1).Value
你可能会想把代码封装到一个sub中:
Sub copyvalues() Plan2.Cells(1, 1).Value = Plan1.Cells(1, 1).Value End Sub
…最后,你必须插入一个button,使用onclick()事件触发子(你必须分配到一个模块)
对不起我的坏英语,希望它可以帮助你。
Public Function copyNamevalues(srcName As Name, destName As Name) srcName.RefersToRange.Cells.Copy (destName.RefersToRange.Cells) End Function