excel VBA通​​过subs编译错误传递值

时间:2018-12-06 02:21:56

标签: excel vba

我是vba的新手,我正在尝试制作一个excel宏,该宏在选定的文件夹和文件选项卡之间循环。然后它将调用另一个子程序来复制粘贴某些单元格。尝试传递值时出现编译错误(过程声明与具有相同名称的事件或过程的描述不匹配)。

第一部分的一部分

    Set wb = Workbooks.Open(Filename:=myPath & myFile)

    For Each sht In ActiveWorkbook.Sheets
        CommandButton5_Click strSourceSheet, strDestinationSheet
    Next sht

第二子

Sub CommandButton5_Click(strSourceSheet As String, strDestinationSheet As String)
Dim strSourceSheet As String, strDestinationSheet As String, sourceData As String

strSourceSheet = "Sheet1"
strDestinationSheet = "Sheet1"

Sheets(strDestinationSheet).Cells(1, "A") = Sheets(strSourceSheet).Cells(2, "A").Value

End Sub

1 个答案:

答案 0 :(得分:0)

在Excel中,“标签”称为工作表。 (或工作表)
文件夹(或目录)与文件相关,并且完全不同。

按照共产国际,我建议您将sub 2重命名为这样的名称(给它起一个有意义的名称):

CopySelectedCells(strSourceSheet As String, strDestinationSheet As String)

然后从sub 1调用它。

如果您有一个名为CommandButton5的按钮,则可能需要单击事件。创建第三个子:

Sub CommandButton5_Click()

End Sub

有关参数的说明: 如果您在调用sub 2之前在sub 1中设置了参数,那么您的代码将会更进一步。 祝你好运。