Referenciando uma Planilha com Variável de Objeto - Dicas do Excel

Índice

Joe está tentando decifrar um erro em uma nova macro que ele acabou de escrever.

A linha que atribui NextRow está retornando um erro que diz "Object Variable ou With Block Variable Not Set".

Variáveis ​​de objeto são muito legais. Nas dicas antigas em, eu usaria variáveis ​​regulares como estas:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Há um caminho melhor. Você pode definir uma variável como qualquer objeto, como uma planilha. Existem várias vantagens nisso. É mais curto usar a variável de objeto no lugar de Planilhas (OrigName). Além disso, conforme você digita o código, o VBA saberá que a variável é uma planilha e oferecerá as propriedades e métodos apropriados depois que você digitar o ponto. Aqui está o novo código:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

O truque, porém, é que quando você tem uma variável de objeto, ela deve ser atribuída com a palavra-chave Set. Se você não conseguir inserir o conjunto no código, obterá o algo não intuitivo "Variável de objeto ou com variável de bloco não definida". Joe simplesmente precisa preceder sua atribuição de variável com a palavra Set.

Artigos interessantes...