VBA Excel将工作表分配给变量

Spe*_*tor 3 excel vba excel-vba

尝试将工作表分配给变量时,我遇到"运行时错误'13'类型不匹配".它适用于所有其他工作表,但似乎只发生在这个工作表上.

这是我的代码:

Sub TS()
Dim RD, Dep, QC, MM, Pro As Workbook

With ThisWorkbook
Set RD = .Sheets("RawData")
Set Dep = .Sheets("Departments")
Set QC = .Sheets("QC")
Set MM = .Sheets("MM")
Set Pro = .Sheets("Production") 'I have a problem with this line
End With

End Sub
Run Code Online (Sandbox Code Playgroud)

我的工作表标签如下:

在此输入图像描述

Ale*_*ell 7

该错误与您的错误声明有关:

Pro As Workbook
Run Code Online (Sandbox Code Playgroud)

你应该声明它Worksheet,或者只是variant没有指定类型,如:

Dim RD, Dep, QC, MM, Pro
Run Code Online (Sandbox Code Playgroud)

更好的方法是使用强类型声明:

Dim RD As Worksheet, Dep As Worksheet, QC As Worksheet, MM As Worksheet, Pro As Worksheet
Run Code Online (Sandbox Code Playgroud)

希望这可能有所帮助.