1

我在一个工作表中有几个包含常量数据的命名范围。我有一个目标范围,其中一个命名范围将被复制到另一个工作表上。

将根据用户输入到其他单元格中选择将被复制的命名范围。我设法在单个单元格中创建了相关命名范围的名称。

我不能做的(因为我是一个 VBA 菜鸟,他认为他可以在不使用 VBA 的情况下完成所有这些工作!),是创建一个读取相关单元格的宏,然后将它读取的任何名称范围复制到目标范围.

任何帮助都非常谦卑和感激地接受。

4

3 回答 3

2

假设您的范围名称是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
于 2012-08-31T04:46:14.293 回答
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(您必须将其分配到模块中)

对不起我的英语不好,希望对你有帮助。

于 2012-08-31T04:55:19.377 回答
0
Public Function copyNamevalues(srcName As Name, destName As Name)
    srcName.RefersToRange.Cells.Copy (destName.RefersToRange.Cells)
End Function
于 2013-09-24T15:03:30.273 回答