Debugging 对于ActiveWorkbook中的每个ws

Debugging 对于ActiveWorkbook中的每个ws,debugging,excel,foreach,runtime-error,vba,Debugging,Excel,Foreach,Runtime Error,Vba,我是VBA新手,正在尝试调试以下代码。我一直得到-->“运行时错误'13':类型不匹配”。调试时,“For Each ws In ActiveWorkbook.Worksheets”行以黄色突出显示。我只是想创建一个消息框,它会为我提供工作簿中所有工作表的名称列表。非常感谢您的帮助 Sub ListStates() Dim ws As Worksheets Dim message As String message = "Here is a list of states:" For Each w

我是VBA新手,正在尝试调试以下代码。我一直得到-->“运行时错误'13':类型不匹配”。调试时,“For Each ws In ActiveWorkbook.Worksheets”行以黄色突出显示。我只是想创建一个消息框,它会为我提供工作簿中所有工作表的名称列表。非常感谢您的帮助

Sub ListStates()
Dim ws As Worksheets
Dim message As String
message = "Here is a list of states:"
For Each ws In ActiveWorkbook.Worksheets
    message = message & vbCrLf & "ws.Name"
Next
MsgBox message, vbInformation, "State list"
结束子项

更改行

Dim ws As Worksheets


工作表对象是工作表对象的集合。您正在尝试循环查看
工作表中的每个
工作表

,此外,删除括在ws.Name-行中的引号应为:

message = message & vbCrLf & ws.Name
message = message & vbCrLf & ws.Name