2013-10-19 3 views
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" 

최종 하위

답변

1

변경

Dim ws As Worksheet 

워크 시트 개체에 라인

Dim ws As Worksheets 

는 워크 시트 개체의 컬렉션입니다. 그리고 당신은 ws.Name 브라켓 따옴표를 제거

0

그리고 추가 WorksheetsWorksheet하지만 루프에 노력하고있다 - 행은 다음과 같습니다

message = message & vbCrLf & ws.Name 
관련 문제