Como verificar se uma pasta de trabalho está aberta via vba?
Para verificar se uma pasta de trabalho está aberta usando qualquer código VBA, você precisa usar o loop FOR EACH , que pode percorrer todas as pastas de trabalho abertas no momento e verificar o nome de cada pasta de trabalho com o nome que você mencionou. Você pode usar uma caixa de mensagem para obter o resultado do loop. Ou você também pode fazer o código para inserir o resultado em uma célula.
Verifique SE uma APOSTILA ESTÁ ABERTA
- Primeiro, você precisa declarar as variáveis a serem usadas no código para criar um loop.
- Use uma caixa de entrada para obter o nome da pasta de trabalho que você deseja pesquisar.
- Inicie o loop para percorrer todas as pastas de trabalho abertas.
- Escreva o código com IF STATEMENT para verificar o nome da pasta de trabalho com o nome que você digitou na caixa de entrada e, quando o nome corresponder, ativa a pasta de trabalho, exibe uma caixa de mensagem informando que a pasta de trabalho foi encontrada e sai do procedimento.
- No final, complete o loop e use uma caixa de mensagem para exibir uma caixa de mensagem se nada for encontrado.
Links úteis: Executar uma macro – Gravador de macro – Editor Visual Basic – Manual pessoal de macros
Aqui está o código completo.
Sub vba_check_workbook() Dim WB As Workbook Dim myWB As String myWB = InputBox(Prompt:="Enter the workbook name.") For Each WB In Workbooks If WB.Name = myWB Then WB.Activate MsgBox "Workbook Found!" Exit Sub End If Next WB MsgBox "Not Found" End Sub