0

私は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"

サブ終了

4

2 に答える 2

1

行を変更する

Dim ws As Worksheets

Dim ws As Worksheet

Worksheets オブジェクトは Worksheet オブジェクトのコレクションです。Worksheetそして、あなたはそれぞれをループしようとしていますWorksheets

于 2013-10-19T06:31:39.333 に答える
0

さらに、ws.Name を囲む引用符を削除します。行は次のようになります。

message = message & vbCrLf & ws.Name
于 2013-10-20T07:16:26.890 に答える