Como ativar uma pasta de trabalho do excel via vba?

Quando você está trabalhando com várias pastas de trabalho ao mesmo tempo, quero dizer, quando você tem várias pastas de trabalho abertas ao mesmo tempo, você precisa conhecer o método que pode ajudá-lo a ativar uma pasta de trabalho na qual deseja trabalhar.

ativar pasta de trabalho

Para ativar uma pasta de trabalho usando VBA, você deve usar o método Workbook.Activate. Neste método, você precisa especificar o nome da pasta de trabalho usando o objeto Workbook. Também permite usar o número da pasta de trabalho em vez do nome da pasta de trabalho, mas você só pode fazer referência a pastas de trabalho abertas.

Neste tutorial, examinamos diferentes maneiras de usar esse método.

Etapas para ativar uma pasta de trabalho

tipo de pastas
  1. Digite “Fichários” para usar o objeto fichário.
  2. Especifique o nome da pasta de trabalho entre aspas duplas.
  3. Insira um ponto final (.) para obter uma lista de propriedades e métodos.
  4. Selecione o método Ativar na lista ou você também pode inseri-lo.
  5. No final, execute o código para ativar a pasta de trabalho.
 Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub

Nota: Se você tentar ativar uma pasta de trabalho que não esteja aberta, o VBA exibirá um erro.

vba-mostrará-um-erro

Relacionado: Ativar uma planilha usando VBA

Links úteis: Executar uma macroGravador de macroEditor Visual BasicManual pessoal de macros

Ativar uma pasta de trabalho usando número

Quando você tem várias pastas de trabalho abertas, todas essas pastas de trabalho se tornam parte da coleção de pastas de trabalho e têm um número ao qual você pode consultar e, então, você pode usar o método activate com elas. Aqui está o código:

 Sub vba_activate_workbook() Workbooks(2).Activate End Sub
ativar um fichário usando número

E se você tentar ativar uma pasta de trabalho usando um número que não existe, o VBA mostrará um erro em tempo de execução ‘9’ (Subscrito fora do intervalo).

vba-mostrará-erro-de-tempo-de-execução-9

Ativar esta pasta de trabalho

Você pode consultar a pasta de trabalho na qual escreve o código usando a propriedade ThisWorkbook. Digamos que você tenha cinco pastas de trabalho abertas ao mesmo tempo, mas esteja trabalhando no “Livro1.xlsm”, então, ao executar o código a seguir, ele ativará o “Livro1.xlsm”.

 Sub vba_activate_workbook() ThisWorkbook.Activate End Sub

Verifique antes de ativar uma pasta de trabalho

Como eu disse, quando você tenta ativar uma pasta de trabalho que não está aberta, o VBA mostra um erro. Para resolver este problema, a melhor maneira é primeiro verificar o nome da pasta de trabalho (se está aberta ou não) e depois ativá-la.

 Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub

Usando o código acima, você pode especificar um nome de pasta de trabalho e isso primeiro verificará esta pasta de trabalho em todas as pastas de trabalho abertas e, se encontrar a pasta de trabalho, irá ativá-la.

Comentários

  • Ao usar o nome da pasta de trabalho, certifique-se de usar a extensão de arquivo correta
  • Se quiser ativar uma pasta de trabalho que ainda não foi salva, você deverá usar apenas o nome dessa pasta de trabalho sem adicionar o sufixo à extensão do arquivo.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *