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.