각 워크시트에서 추가 기능을 실행하는 매크로를 작성했습니다. 추가 기능은 Sage 관련 추가 기능입니다. Sendkey는 내가 입력한 어떤 sendkey와도 작동해야 한다고 확신합니까? 그러나 모든 시트에 대해 "텍스트 추가" 테스트를 실행하고 원래 활성 시트로 돌아간 다음 시트 수만큼 추가 기능을 실행합니다. 모두 활성 시트에 있습니다. 숨겨진 워크시트를 건너뛰도록 뭔가를 추가해야 합니까...? 도와주세요.
Sub CountSheets()
Dim ws As Worksheet
Dim starting_ws As Worksheet
Set starting_ws = ActiveSheet 'remember which worksheet is active in the beginning
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Application.SendKeys "%XRV%O", True
Application.Wait (Now + #12:00:01 AM#)
ws.Cells(1, 1) = "Created by Yo Castle 7 "
Application.Wait (Now + #12:00:01 AM#)
Next
starting_ws.Activate 'activate the worksheet that was originally active
End Sub
답변1
보이는 시트에서만 마르코를 실행하려면IF
루프를 시작한 직후. 그런 다음Visible
속성이 true이고, 그렇지 않으면 다음 항목으로 건너뜁니다.
따라서 코드는 다음과 같습니다.
Sub CountSheets()
Dim ws As Worksheet
Dim starting_ws As Worksheet
Set starting_ws = ActiveSheet 'remember which worksheet is active in the beginning
For Each ws In ThisWorkbook.Worksheets
If ws.Visible = true Then
ws.Activate
Application.SendKeys "%XRV%O", True
Application.Wait (Now + #12:00:01 AM#)
ws.Cells(1, 1) = "Created by Yo Castle 7 "
Application.Wait (Now + #12:00:01 AM#)
End If
Next
starting_ws.Activate 'activate the worksheet that was originally active
End Sub