Vba 是否可以将数据从单元格复制到宏中?

Vba 是否可以将数据从单元格复制到宏中?,vba,excel,Vba,Excel,我在一个由宏更新的单元格中写入了数据——它根据有人称之为新工作表的内容附加了一个引用 在单元格A1中,我以宏代码结束,宏代码用新的图纸名称更新。目前,用户必须复制此文本并打开另一个宏并粘贴代码,但是他们一直在做错事并破坏它 我想做的是编写一个宏来复制单元格A1的内容,并将它们粘贴到原始宏中 如果可能的话?基于以下网站的建议: 我知道这不是你问题的答案,但我只是提供一些信息。我建议您不要让用户在每个工作表中创建宏。您可以从模块访问任何工作表上的任何内容。我不确定你的整个过程是什么,但你可以考虑更多

我在一个由宏更新的单元格中写入了数据——它根据有人称之为新工作表的内容附加了一个引用

在单元格A1中,我以宏代码结束,宏代码用新的图纸名称更新。目前,用户必须复制此文本并打开另一个宏并粘贴代码,但是他们一直在做错事并破坏它

我想做的是编写一个宏来复制单元格A1的内容,并将它们粘贴到原始宏中


如果可能的话?

基于以下网站的建议:


我知道这不是你问题的答案,但我只是提供一些信息。我建议您不要让用户在每个工作表中创建宏。您可以从模块访问任何工作表上的任何内容。我不确定你的整个过程是什么,但你可以考虑更多,沿着寻找你想要改变的床单的路线

Public sub ProcessSheets()
    Dim ws As Excel.Worksheet
    Dim iIndex As Integer

    'Loop through all the worksheets in the workbook.
    For iIndex = 1 To ActiveWorkbook.Worksheets.count

        'Activate the current sheet, if you need to.
        Set ws = Worksheets(iIndex)
        ws.Activate

        'Check the name of the worksheet.
        If Left(ws.Name, 2) = "HD" or Left(ws.Name, 2) = "ER" Then

            'Call the function that changes the worksheet here.
            'Maybe feed it the worksheet name.
            UpdateWorksheet ws.Name

        End if

    Next iIndex
End Sub

你到底想做什么。。。使用VBA代码中单元格中给定的s图纸名称?该值可通过动态方式获得<代码>工作表(“SheetName”).Range(“A1”).value我同意MikeD的上述评论,不过。。。虽然这是可能的,但我相信有更好的方法来设计解决方案。很抱歉,我试图保持它的简短,因为这是一个相当复杂的过程!!我有一个大宏,可以在电子表格中的一些工作表上运行更新。它们都有一个两个字母的前缀,如HD或ER,与客户端名称有关。这个“月”宏通过引用每张工作表来运行这些更新。@HazelPopham-嗯,你可以试试上面的方法。如果有效,您可以向上投票和/或标记为正确。希望这有帮助!宏在某些工作表上运行和更新,这些工作表有两个字母的前缀,例如与客户机名称相关的HD或ER。此“月”宏通过引用每个工作表来运行这些更新。第二个宏“新客户端”创建一个新工作表并要求用户输入新的缩写。新客户机已创建,新客户机的“每月”代码填充在工作表的单元格A1中,并使用缩写更新代码中引用的工作表。但是,我希望将此新创建的代码粘贴到单元格A1中,并将其粘贴到“每月”中宏,因此将继续更新。每月宏如何知道客户端名称。。“HD…”,“呃…”是否在文件本身的某个位置维护列表。如果是,则只需编写一个宏将其添加到该列表中,而不是在执行每月宏时提供名称。
Public sub ProcessSheets()
    Dim ws As Excel.Worksheet
    Dim iIndex As Integer

    'Loop through all the worksheets in the workbook.
    For iIndex = 1 To ActiveWorkbook.Worksheets.count

        'Activate the current sheet, if you need to.
        Set ws = Worksheets(iIndex)
        ws.Activate

        'Check the name of the worksheet.
        If Left(ws.Name, 2) = "HD" or Left(ws.Name, 2) = "ER" Then

            'Call the function that changes the worksheet here.
            'Maybe feed it the worksheet name.
            UpdateWorksheet ws.Name

        End if

    Next iIndex
End Sub