【问题标题】:Macro to copy a Named Range from one Worksheet to another将命名范围从一个工作表复制到另一个工作表的宏
【发布时间】:2012-08-31 04:39:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: excel excel-2010 vba


    【解决方案1】:

    假设您的范围名称是MyRange

    所以要复制你必须这样做的范围

    Range("MyRange").Copy
    

    现在让我们假设Sheet1 的单元格A1 包含单词MyRange。在这种情况下,您可以使用 Range("A1").Value 检索单元格 A1 的值

    所以

    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
    

    【讨论】:

    • 非常感谢 Siddharth,我希望在星期一之前尝试一下。
    • 很好的教育一步一步的回答!
    • 嗨@siddharth 我试过了,但它似乎不起作用 - 当我单步执行它时不会产生错误,但它不会进行复制。
    • 这是我的实际宏,以防我使用了不正确的参考:
    • Sub CopyWSAmount() 将 wsI 作为工作表,wsO 作为工作表 Set wsI = ThisWorkbook.Sheets("lookup") Set wsO = ThisWorkbook.Sheets("Information") wsI.Range(wsI.Range( "lookup!C29").Value).Copy wsO.Range("WageSubsidyAmounts") End Sub
    【解决方案2】:

    我不确定这是否是您需要的,但是,例如,如果您只需将 A1 单元格的内容从 sheet1 复制到 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
    

    ...最后,您必须插入一个按钮,使用 onclick() 事件来触发 sub(您必须将其分配到一个模块中)

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

    【讨论】:

    • 啊!我刚刚意识到我的一个命名范围是不正确的 - 现在看起来正在发生一些事情,除了每个单元格中的结尾是单词 TRUE,而不是“来自”单元格的内容......
    【解决方案3】:
    Public Function copyNamevalues(srcName As Name, destName As Name)
        srcName.RefersToRange.Cells.Copy (destName.RefersToRange.Cells)
    End Function
    

    【讨论】:

    • 请在您的答案中添加一些 cmets 以提供一些上下文
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多