Instrucción Private

Se usa en el nivel de módulo para declarar variables privadas y asignar espacio de almacenamiento.

Sintaxis

Private [ WithEvents ] varname [ ( [ subíndices ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ subíndices ] ) ] [ As [ New ] type ]] . . .

La sintaxis de la instrucción Private tiene estas partes:

Parte Descripción
WithEvents Opcional. Keyword que especifica que varname es un objeto variable que se usa para responder a eventos activados por un objeto ActiveX. WithEvents solo es válido en módulos de clase. Puede declarar tantas variables individuales como desee mediante WithEvents, pero no puede crear matrices con WithEvents, ni puede usar New con WithEvents.
varname Obligatorio. Nombre de la variable; sigue las convenciones de nomenclatura de variable estándar.
subscripts Opcional. Dimensiones de una variable de matriz; se pueden declarar hasta 60 dimensiones distintas. El argumentosubíndices usa la sintaxis siguiente:

[ lowerTo ] upper [ , [ lowerTo ] upper ] . . .

Cuando no se encuentra de manera explícita en lower, el límite inferior de una matriz se controla mediante la instrucción Option Base. El límite inferior es cero si no existe una instrucción Option Base.
Nuevo Opcional. Palabra clave que permite la creación implícita de un objeto. Si usa Nuevo al declarar la variable de objeto, se crea una nueva instancia del objeto en la primera referencia, por lo que no tiene que usar la instrucción Set para asignar la referencia de objeto. La palabra clave New no se puede usar para declarar variables de ningún tipo de datos intrínseco. Tampoco se puede usar para declarar instancias de objetos dependientes y no se puede usar con WithEvents.
type Opcional. Tipo de datos de la variable; puede ser Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (no compatible actualmente), Date, String (para cadenas de longitud variable), Longitud de cadena (para cadenas de longitud fija), Object, Variant, un tipo definido por el usuario o un tipo de objeto. Utilizar una cláusula Astype independiente para cada variable que se define.

Comentarios

Las variables Private solo están disponibles para el módulo en que se hayan declarado.

Use la instrucción Private para declarar el tipo de datos de una variable. Por ejemplo, la siguiente instrucción declara una variable como Integer:

Private NumberOfEmployees As Integer 

También puede usar una instrucción Private para declarar el tipo de objeto de una variable. La siguiente instrucción declara una variable para una nueva instancia de una hoja de cálculo:

Private X As New Worksheet 

Si no se usa la palabra clave New al declarar una variable de objeto, a la variable que hace referencia al objeto se le debe asignar un objeto existente mediante la instrucción Set antes de que se pueda usar. Hasta que se le asigna un objeto, la variable de objeto declarada tiene el valor especial Nothing, que indica que no hace referencia a ninguna instancia determinada de un objeto.

Si no especifica un tipo de datos o un tipo de objeto y no hay ninguna instrucción Deftype en el módulo, la variable es Variant de forma predeterminada.

También puede usar la instrucción Private con paréntesis vacíos para declarar una matriz dinámica. Después de declarar una matriz dinámica, use la instrucción ReDim dentro de un procedimiento para definir el número de elementos y dimensiones de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Private, Public o Dim , se produce un error.

Cuando las variables se inicializan, se inicializa una variable numérica en 0, una cadena de longitud variable se inicializa en una cadena de longitud cero ("") y una cadena de longitud fija se completa con ceros. Las variables Variant se inicializan enEmpty. Cada elemento de una variable de tipo definido por el usuario se inicializa como si fuese una variable independiente.

Nota:

La instrucción Private no se puede usar dentro de un procedimiento; use la instrucción Dim para declarar variables locales.

Ejemplo:

En este ejemplo se muestra la instrucción Private que se usa en el nivel de módulo para declarar variables como privadas; es decir, solo están disponibles para el módulo en el que se declaran.

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 

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.