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