Macro do Excel não está indo na ordem que deveria

Macro do Excel não está indo na ordem que deveria

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 umIFlogo depois de iniciar seu loop. Isso testará então se oVisiblepropriedade é 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

informação relacionada