Como usar a variável thisworkbook vba no excel?

No VBA, você pode usar a propriedade ThisWorkbook para se referir à pasta de trabalho na qual você escreve o código. Ao usá-lo, você tem acesso a todas as propriedades e métodos da pasta de trabalho atual. Simplificando, você pode executar todas as tarefas da pasta de trabalho atual sem usar o nome.

Suponha que você queira contar as planilhas da pasta de trabalho atual. O código que você precisa escrever seria o seguinte.

 Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
vba-esta pasta de trabalho

Ao executar esse código, uma caixa de mensagem aparece com o número de planilhas que você possui na pasta de trabalho atual.

caixa de mensagem com contagem de folhas

Como eu disse, quando você usa ThisWorkbook, ele dá acesso às propriedades e métodos da pasta de trabalho atual. Você pode ver tudo isso ao inserir um ponto final (.) para ver a lista completa.

acesso a propriedades

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

Usando ThisWorkbook com uma variável

A seguir, mostrarei um exemplo de código real para declarar uma variável para usar a propriedade ThisWorkbook. Suponha que você queira realizar diversas atividades na pasta de trabalho atual.

 Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub

Na primeira parte deste código, você tem uma variável e, em seguida, atribua a ela a propriedade “ThisWorkbook”. E então na segunda parte você tem o WITH STATEMENT para realizar múltiplas atividades com a variável atual.

ActiveWorkBook versus esta pasta de trabalho

Deixe-me explicar isso com uma analogia simples, então tenha paciência comigo pelos próximos 2 minutos.

Você tem duas pastas de trabalho abertas ao mesmo tempo (Livro1 e Livro2). Você escreve o código no livro1 , mas o livro2 está ativo neste momento. Portanto, quando você executar esse código que faz referência ao ActiveWorkbook, ele executará essa atividade no Book2 .

Mas quando você usa ThisWorkbook, o VBA sempre se refere à pasta de trabalho na qual o código está escrito.

O problema é o seguinte: é sempre melhor usar o ThisWorkbook porque elimina a chance de erro.

Saiba mais sobre pastas de trabalho VBA

Adicione um comentário

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