我在一个工作表中有几个包含常量数据的命名范围。 我有一个目标范围,其中一个命名范围将被复制到另一个工作表上。
将根据用户输入到其他单元格中选择要复制的命名范围。 我已设法在单个单元格中创建相关命名范围的名称。
我不能做什么(因为我是VBA Noob谁认为他可以在不使用VBA的情况下完成所有这些!),创建一个宏来读取相关的单元格,然后复制它读取的任何名称范围,进入目标范围。
任何最谦卑和感激的帮助。
答案 0 :(得分:2)
比方说,您的范围名称为MyRange
因此要复制范围,你必须这样做
Range("MyRange").Copy
现在让我们假设Sheet1
的单元格A1有单词MyRange
。在这种情况下,您可以使用Range("A1").Value
所以
Range("MyRange").Copy
变为
Range(Range("A1").Value).Copy
这是一个完整的例子。我假设你要复制说Sheet2的Cell 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
答案 1 :(得分:0)
我不确定你是否需要这些,但是,如果你只是需要将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(您必须将其分配到模块中)
抱歉,我的英文不好,希望对你有所帮助。答案 2 :(得分:0)
Public Function copyNamevalues(srcName As Name, destName As Name)
srcName.RefersToRange.Cells.Copy (destName.RefersToRange.Cells)
End Function