Eu escrevi uma macro que deveria executar um suplemento em cada planilha. O suplemento é um suplemento específico do Sage. Tenho certeza de que os sendkeys devem funcionar com quaisquer sendkeys que eu coloquei? No entanto, ele executa meu teste "adicionar texto" em todas as planilhas, volta para a planilha ativa original e, em seguida, executa o suplemento tantas vezes quanto a contagem de planilhas - todas na planilha ativa. Também preciso adicionar algo para pular as planilhas ocultas...? Por favor ajude.
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
Responder1
Para executar o marco apenas nas planilhas visíveis, você pode adicionar umIF
logo depois de iniciar seu loop. Isso testará então se oVisible
propriedade é verdadeira, caso contrário, pule para a próxima.
Então seu código se torna:
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