Instrução particular

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

Sintaxe

Privado [ WithEvents ] varname [ ( [ subscritos ] ) ] [ As [ Novo ] type ]
[ , [ WithEvents ] varname [ ( [ subscritos ] ) ] [ As [ Novo ] tipo ]] . . .

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

Sair 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 pode usar New com 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 argumentosubscritos 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 nova palavra-chave não pode ser usada para declarar variáveis de qualquer tipo de dado 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.
type Opcional. Tipo de dados da variável; pode ser Byte, Booliano, Inteiro, Longo, Conversor de Moedas, Simples, Duplo, Decimal (não há suporte no momento), Data, Cadeia de Caracteres (para cadeias de caracteres de comprimento variável), Comprimento da Cadeia de Caracteres (para cadeias de caracteres de comprimento fixo), Objeto, Variante, um tipo definido pelo usuário ou um tipo de objeto. Use uma cláusula Astipo para todas as variáveis que estão sendo definidas.

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 um 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 nova palavra-chave 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 que ela possa ser usada. Até que um objeto seja atribuído, a variável de objeto declarada tem o valor especial Nothing, que indica que ela não se refere a nenhuma 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 redeclarar 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 declaração privada 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.