Instrução particular

Usado no nível do módulo para declarar variáveis privadas e alocar espaço de armazenamento.

Sintaxe

Private [ WithEvents ] varname [ ( [ subscritos ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ subscritos ] ) ] [ As [ New ] type ]] . . .

A sintaxe da instrução Private tem estas partes:

Parte Descrição
WithEvents Opcional. A palavra-chave que especifica que nomedavariável é uma variável de objeto usada para responder a eventos acionados por um objeto ActiveX. WithEvents só será válido em módulos de classe. Você pode declarar quantas variáveis individuais quiser usando WithEvents, mas não pode criar matrizes com WithEvents, nem usar New with WithEvents.
nomedavariável Obrigatório. Nome da variável; segue as convenções de nomenclatura padrão para variáveis.
subscritos Opcional. Dimensões de uma variável de matriz; é possível declarar até 60 dimensões múltiplas. O argumento subscrito usa a seguinte sintaxe:

[ inferiorTo ] superior [ , [ inferiorTo ] superior ] . . .

Quando não for explicitamente indicado em inferior, o limite inferior de uma matriz será controlado pela instrução Option Base. O limite inferior será zero se nenhuma instrução Option Base estiver presente.
New Opcional. Palavra-chave que permite a criação implícita de um objeto. Se você usar New ao declarar a variável de objeto, uma nova instância do objeto será criada na primeira referência a ela, para que não seja necessário usar a instrução Set para atribuir a referência ao objeto. A palavra-chave New não pode ser usada para declarar variáveis de qualquer tipo de dados intrínseco. Ele também não pode ser usado para declarar instâncias de objetos dependentes e não pode ser usado com WithEvents.
tipo Opcional. Tipo de dados da variável; pode ser Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (sem suporte no momento), Date, String (para cadeias de caractere com comprimento variável), String comprimento (para cadeias de caractere de comprimento fixo), Object, Variant, um tipo definido pelo usuário ou um tipo de objeto. Use uma cláusula de tipo As separada para cada variável que está sendo definida.

Comentários

As variáveis privadas estão disponíveis apenas para o módulo no qual são declaradas.

Use a instrução Private para declarar o tipo de dados de uma variável. Por exemplo, a instrução a seguir declara uma variável como integer:

Private NumberOfEmployees As Integer 

Você também pode usar uma instrução Private para declarar o tipo de objeto de uma variável. A instrução a seguir declara uma variável para uma nova instância de uma planilha:

Private X As New Worksheet 

Se a palavra-chave New não for usada ao declarar uma variável de objeto, a variável que se refere ao objeto deverá ser atribuída a um objeto existente usando a instrução Set antes de poder ser usada. Até que ele seja atribuído a um objeto, a variável de objeto declarado tem o valor especial Nothing, que indica que ela não se refere a qualquer instância específica de um objeto.

Se você não especificar um tipo de dados ou tipo de objeto e não houver nenhuma instrução Deftype no módulo, a variável será Variant por padrão.

Você também pode usar a instrução Private com parênteses vazios para declarar uma matriz dinâmica. Após declarar uma matriz dinâmica, use a instrução ReDim dentro de um procedimento para definir o número de elementos e as dimensões na matriz. Se você tentar redeclare uma dimensão para uma variável de matriz cujo tamanho foi explicitamente especificado em uma instrução Private, Public ou Dim , ocorrerá um erro.

Quando as variáveis são inicializadas, uma variável numérica é inicializada como 0, uma cadeia de caracteres de comprimento variável é inicializada para uma cadeia caracteres de comprimento zero ("") e uma cadeia de caracteres de comprimento fixo é preenchida com zeros. As variáveis Variant são inicializadas para Empty. Todo elemento de uma variável de tipo definido pelo usuário é inicializado como se fosse uma variável separada.

Observação

A instrução Private não pode ser usada dentro de um procedimento; use a instrução Dim para declarar variáveis locais.

Exemplo

Este exemplo mostra a instrução Private sendo usada no nível do módulo para declarar variáveis como privadas; ou seja, eles estão disponíveis apenas para o módulo no qual são declarados.

Private Number As Integer ' Private Integer variable. 
Private NameArray(1 To 5) As String ' Private array variable. 
' Multiple declarations, two Variants and one Integer, all Private. 
Private MyVar, YourVar, ThisVar As Integer 

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.