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
Ao executar esse código, uma caixa de mensagem aparece com o número de planilhas que você possui na pasta de trabalho atual.
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.
Links úteis: Executar uma macro – Gravador de macro – Editor Visual Basic – Manual 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.