Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ActiveCell
Devuelve un objeto Range que representa la celda activa en la ventana activa (la ventana
de arriba) o en la ventana especificada. Si la ventana no muestra una hoja de trabajo, esta
propiedad falla. Solo lectura.
Sintaxis
Observaciones
Tenga cuidado de distinguir entre la celda activa y la selección. La celda activa es una sola
celda dentro de la selección actual. La selección puede contener más de una celda, pero
solo una es la celda activa.
ActiveCell
Application.ActiveCell
ActiveWindow.ActiveCell
Application.ActiveWindow.ActiveCell
ActiveWindow
Devuelve un objeto Window que representa la ventana activa de Excel (la ventana de
arriba). Devuelve Nothing si no hay ventanas abiertas. Solo lectura.
Sintaxis
Ejemplo
ActiveWorkbook
Sintaxis
expresión _ Selección
Ejemplo
Worksheets("Sheet1").Activate
Selection.Clear
Application
Sintaxis
expresión _ Solicitud
expresión Una variable que representa un objeto Aplicación .
Ejemplo
Else
End If
Cells
Devuelve un objeto Range que representa todas las celdas de la hoja de cálculo activa. Si
el documento activo no es una hoja de trabajo, esta propiedad falla.
Sintaxis
expresión _ Células
Observaciones
Ejemplo
Este ejemplo examina los datos de cada fila e inserta una fila en blanco cada vez que
cambia el valor de la columna A.
Sub ChangeInsertRows()
Application.ScreenUpdating = False
Dim xRow As Long
Application.ScreenUpdating = True
End Sub
Debug
Sintaxis
expresión _DimColor
Valor de retorno
ColorFormato
Observaciones
Ejemplo
Este ejemplo agrega una diapositiva que contiene tanto un título como una lista de tres
elementos a la presentación activa, configura el título y la lista para que se atenúen
después de construirse, y establece el color con el que se atenuará cada uno de ellos.
With ActivePresentation.Slides.Add(2, ppLayoutText).Shapes
With .Item(1)
.TextFrame.TextRange.Text = "Sample title"
With .AnimationSettings
.TextLevelEffect = ppAnimateByAllLevels
.AfterEffect = ppAfterEffectDim
.DimColor.SchemeColor = ppShadow
.Animate = True
End With
End With
With .Item(2)
.TextFrame.TextRange.Text = "Item one" _
& Chr(13) & "Item two"
With .AnimationSettings
.TextLevelEffect = ppAnimateByFirstLevel
.AfterEffect = ppAfterEffectDim
.DimColor.RGB = RGB(100, 150, 130)
.Animate = True
End With
End With
End With
Exit
Sintaxis
Salir Hacer
Salir para
Salir Función
Salir Propiedad
Salir Sub
La sintaxis de la instrucción Exit tiene estas formas:
SINTAXIS
Declaración Descripción
Salir Hacer Proporciona una forma de salir de una instrucción Do...Loop . Solo se puede usar dentro de una
sentencia Do...Loop . Exit Do transfiere el control a la instrucción que sigue a la
instrucción Loop . Cuando se usa dentro de instrucciones Do...Loop anidadas , Exit Do transfiere el
control al bucle que está un nivel anidado por encima del bucle donde ocurre Exit Do.
Salir por Proporciona una forma de salir de un bucle For . Solo se puede usar en un bucle For...Next o For
Each...Next . Exit For transfiere el control a la sentencia que sigue a la sentencia Next . Cuando se
usa dentro de bucles For anidados , Exit For transfiere el control al bucle que está un nivel anidado
por encima del bucle donde se produce Exit For .
Función de Sale inmediatamente del procedimiento de Función en el que aparece. La ejecución continúa con la
salida sentencia que sigue a la sentencia que llamó a la función .
Salir de la Sale inmediatamente del procedimiento Property en el que aparece. La ejecución continúa con la
propiedad sentencia que sigue a la sentencia que llamó al procedimiento Property .
Salir de Sub Sale inmediatamente del procedimiento Sub en el que aparece. La ejecución continúa con la
sentencia que sigue a la sentencia que llamó al procedimiento Sub .
Observaciones
Ejemplo
Las declaraciones For Each...Next repiten un bloque de declaraciones para cada objeto en
una colección o cada elemento en una matriz . Visual Basic establece automáticamente
una variable cada vez que se ejecuta el bucle. Por ejemplo, el
siguiente procedimiento suma 10 al valor de cada celda en el rango A1 a A10.
Sub Add10ToAllCellsInRange()
rng.Value = rng.Value + 10
Next
End Sub
El siguiente código recorre cada elemento de una matriz y establece el valor de cada uno
en el valor de la variable de índice I.
TestArray(I) = I
Next I
If-then-else-end if
Sin embargo, para facilitar la lectura, es posible que desee utilizar una instrucción Select
Case en lugar de varios niveles de instrucciones anidadas If...Then...Else .
Ejecutar sentencias si una condición es verdadera
Para ejecutar solo una declaración cuando una condición es True , use la sintaxis de una
sola línea de la declaración If...Then...Else . El siguiente ejemplo muestra la sintaxis de una
sola línea, omitiendo la palabra clave Else .
Sub FixDate()
myDate = #2/13/95#
End Sub
Para ejecutar más de una línea de código, debe usar la sintaxis de varias líneas. Esta
sintaxis incluye la instrucción End If , como se muestra en el siguiente ejemplo.
If value = 0 Then
AlertLabel.ForeColor = "Red"
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
End If
End Sub
InputBox
Muestra un mensaje en un cuadro de diálogo, espera a que el usuario ingrese texto o haga
clic en un botón y devuelve una cadena que contiene el contenido del cuadro de texto.
Sintaxis
S I N T A XI S
Parte Descripción
Requerido. Expresión de cadena que se muestra como mensaje en el cuadro de diálogo. La longitud
máxima del aviso es de aproximadamente 1024 caracteres, según el ancho de los caracteres
inmediato utilizados. Si el indicador consta de más de una línea, puede separar las líneas utilizando un carácter de
retorno de carro ( Chr (13)), un carácter de salto de línea ( Chr (10)) o una combinación de caracteres de
retorno de carro y salto de línea (( Chr (13) & ( Chr (10)) entre cada línea.
Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si omite
título
el título , el nombre de la aplicación se coloca en la barra de título.
Opcional. Expresión de cadena que se muestra en el cuadro de texto como respuesta predeterminada si
defecto
no se proporciona ninguna otra entrada. Si omite predeterminado , el cuadro de texto se muestra vacío.
Opcional. Expresión numérica que especifica, en twips, la distancia horizontal del borde izquierdo del
pos x cuadro de diálogo desde el borde izquierdo de la pantalla. Si se omite xpos , el cuadro de diálogo se
centra horizontalmente.
Opcional. Expresión numérica que especifica, en twips, la distancia vertical del borde superior del cuadro
ypos de diálogo desde la parte superior de la pantalla. Si se omite ypos , el cuadro de diálogo se coloca
verticalmente aproximadamente a un tercio de la parte inferior de la pantalla.
Opcional. Expresión de cadena que identifica el archivo de ayuda que se utilizará para proporcionar
archivo de
ayuda sensible al contexto para el cuadro de diálogo. Si se proporciona un archivo de ayuda, también se
ayuda
debe proporcionar el contexto .
Opcional. Expresión numérica que es el número de contexto de Ayuda asignado al tema de Ayuda
contexto adecuado por el autor de la Ayuda. Si se proporciona el contexto , también se debe proporcionar
el archivo de ayuda.
Observaciones
El cuadro de texto acepta solo 255 caracteres. La cadena de retorno se trunca a 254
caracteres.
El cuadro de texto no acepta saltos de línea, como Mayús+Intro . Si el usuario pega texto
con un salto de línea en el cuadro de texto, el texto se trunca en el salto de línea.
Nota
Para especificar más que el primer argumento nombrado, debe usar InputBox en
una expresión . Para omitir algunos argumentos posicionales , debe incluir el delimitador
de coma correspondiente.
Ejemplo
Este ejemplo muestra varias formas de usar la función InputBox para solicitar al usuario
que ingrese un valor. Si se omiten las posiciones x e y, el cuadro de diálogo se centra
automáticamente para los ejes respectivos. La variable MyValuecontiene el valor ingresado
por el usuario si el usuario elige Aceptar o presiona la tecla ENTER. Si el usuario
elige Cancelar , se devuelve una cadena de longitud cero.
Dim Message, Title, Default, MyValue
' Use Helpfile and context. The Help button is added automatically.
MsgBox
Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve
un número entero que indica en qué botón hizo clic el usuario.
Sintaxis
S I N T A XI S
Parte Descripción
título Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de
diálogo. Si omite el título , el nombre de la aplicación se coloca en la barra de título.
archivo de Opcional. Expresión de cadena que identifica el archivo de ayuda que se utilizará
ayuda para proporcionar ayuda sensible al contexto para el cuadro de diálogo. Si se
proporciona un archivo de ayuda, también se debe proporcionar el contexto .
Range
Sintaxis
Parámetros
PARÁMETROS
Nombre Requerido/Opcional Tipo de Descripción
datos
Celda1 Requerido Variante El nombre del rango. Esta debe ser una referencia de
estilo A1 en el idioma de la macro. Puede incluir el
operador de rango (dos puntos), el operador de
intersección (un espacio) o el operador de unión (una
coma). También puede incluir signos de dólar, pero se
ignoran. Utilice un nombre local definido en cualquier
parte del rango. Si usa un nombre, se supone que el
nombre está en el idioma de la macro.
Observaciones
Worksheets("Sheet1").Range("A1").Value = 3.14159
Selection
Sintaxis
expresión _ Selección
Observaciones
Worksheets("Sheet1").Activate
Selection.Clear
Set
ActiveX Data Objects (ADO) le permite manipular la estructura de su base de datos y los
datos que contiene desde Visual Basic. Muchos objetos ADO corresponden a objetos que
ve en su base de datos; por ejemplo, un objeto Tabla corresponde a una tabla de
Access. Un objeto Field corresponde a un campo en una tabla.
La mayoría de las propiedades que puede establecer para los objetos ADO son
propiedades ADO. Estas propiedades están definidas por el motor de la base de datos de
Access y se establecen de la misma manera en cualquier aplicación que incluya el motor
de la base de datos de Access. Algunas propiedades que puede establecer para los objetos
ADO están definidas por Access y no son reconocidas automáticamente por el motor de la
base de datos de Access. La forma en que establece las propiedades para los objetos ADO
depende de si una propiedad está definida por el motor de base de datos de Access o por
Access.
Para establecer una propiedad definida por el motor de la base de datos de Access,
consulte el objeto en la jerarquía de ADO. La forma más fácil y rápida de hacer esto es
crear variables de objeto que representen los diferentes objetos con los que necesita
trabajar y hacer referencia a las variables de objeto en los pasos posteriores de su
código. Por ejemplo, el siguiente código crea un nuevo objeto TableDef y establece su
propiedad Name :
tbl.Name = "Contacts"
Sheets
Devuelve una colección Sheets que representa todas las hojas del libro
activo. Objeto Hojas de solo lectura .
Sintaxis
expresión _ Hojas
Observaciones
Ejemplo
Este ejemplo crea una nueva hoja de trabajo y luego coloca una lista de los nombres de las
hojas del libro de trabajo activo en la primera columna.
For i = 1 To Sheets.Count
Sub-End Sud
newSheet.Cells(i, 1).Value = Sheets(i).Name
Next i
Declara el nombre, los argumentos y el código que forman el cuerpo de
un procedimiento Sub .
Sintaxis
SINTAXIS
Parte Descripción
Público Opcional. Indica que el procedimiento Sub es accesible para todos los demás procedimientos en todos los módulos . Si se
usa en un módulo que contiene una instrucción Option Private , el procedimiento no está disponible fuera del proyecto .
Privado Opcional. Indica que el procedimiento Sub es accesible solo para otros procedimientos en el módulo donde se declara.
Amigo Opcional. Se utiliza sólo en un módulo de clase . Indica que el procedimiento Sub es visible en todo el proyecto , pero no
visible para un controlador de una instancia de un objeto.
Estático Opcional. Indica que las variables locales del procedimiento Sub se conservan entre llamadas. El atributo Static no afecta
las variables que se declaran fuera de Sub , incluso si se usan en el procedimiento.
nombre Requerido. Nombre del Suplente ; sigue las convenciones estándar de nomenclatura de variables .
lista de Opcional. Lista de variables que representan argumentos que se pasan al procedimiento Sub cuando se llama. Varias
argumentos variables están separadas por comas.
declaraciones Opcional. Cualquier grupo de sentencias que se van a ejecutar dentro del procedimiento Sub .
TABLA 2
Parte Descripción
Opcional Opcional. Palabra clave que indica que no se requiere un argumento. Si se usa, todos los argumentos subsiguientes
en arglist también deben ser opcionales y declarados mediante la palabra clave Optional . Optional no se puede usar para
ningún argumento si se usa ParamArray .
PorRef Opcional. Indica que el argumento se pasa por referencia . ByRef es el valor predeterminado en Visual Basic.
ParamArray Opcional. Se usa solo como el último argumento en arglist para indicar que el argumento final es una matriz opcional de
elementos Variant . La palabra clave ParamArray le permite proporcionar un número arbitrario de
argumentos. ParamArray no se puede usar con ByVal , ByRef u Optional .
nombrevar Requerido. Nombre de la variable que representa el argumento; sigue las convenciones estándar de nomenclatura de
variables.
valor por Opcional. Cualquier expresión constante o constante . Válido solo para parámetros opcionales . Si el tipo es un objeto , un
defecto valor predeterminado explícito solo puede ser Nothing .
Observaciones
La palabra clave Amigo solo se puede usar en módulos de clase. Sin embargo, se puede
acceder a los procedimientos de Amigo mediante procedimientos en cualquier módulo de
un proyecto. Un procedimiento Friend no aparece en la biblioteca de tipos de su clase
principal, ni un procedimiento Friend puede vincularse en tiempo de ejecución.
Los subprocedimientos pueden ser recursivos; es decir, pueden llamarse a sí mismos para
realizar una determinada tarea. Sin embargo, la recursividad puede provocar un
desbordamiento de pila. La palabra clave Static generalmente no se usa con
procedimientos Sub recursivos .
Las palabras clave Exit Sub provocan una salida inmediata de un procedimiento Sub . La
ejecución del programa continúa con la sentencia que sigue a la sentencia que llamó al
procedimiento Sub . Cualquier número de instrucciones Exit Sub puede aparecer en
cualquier parte de un procedimiento Sub .
Las variables utilizadas en los procedimientos Sub se dividen en dos categorías: las que se
declaran explícitamente dentro del procedimiento y las que no. Las variables que se
declaran explícitamente en un procedimiento (usando Dim o el equivalente) siempre son
locales para el procedimiento. Las variables que se usan pero no se declaran
explícitamente en un procedimiento también son locales a menos que se declaren
explícitamente en algún nivel superior fuera del procedimiento.
Ejemplo
Este ejemplo utiliza la instrucción Sub para definir el nombre, los argumentos y el código
que forman el cuerpo de un procedimiento Sub .
End Sub
ThisWorkbook
Observaciones
Utilice esta propiedad para hacer referencia al libro de trabajo que contiene su código de
macro. ThisWorkbook es la única manera de hacer referencia a un libro de trabajo de
complemento desde dentro del propio complemento. La propiedad ActiveWorkbook no
devuelve el libro de trabajo del complemento; devuelve el libro de trabajo que llama al
complemento.
La propiedad Workbooks puede fallar, ya que el nombre del libro probablemente cambió
cuando creó el complemento. ThisWorkbook siempre devuelve el libro de trabajo en el
que se ejecuta el código.
Por ejemplo, use un código como el siguiente para activar una hoja de diálogo almacenada
en su libro de complemento:
ThisWorkbook.DialogSheets(1).Show
Esta propiedad solo se puede usar desde dentro de Microsoft Excel. No puede usarlo para
acceder a un libro de trabajo desde ninguna otra aplicación.
Ejemplo
Este ejemplo cierra el libro que contiene el código de ejemplo. Los cambios en el libro de
trabajo, si los hay, no se guardan.
ThisWorkbook.Close SaveChanges:=False
VBA.IsNumeric (variable o celda)
Devuelve un valor booleano que indica si una expresión se puede evaluar como un
número.
Sintaxis
IsNumeric ( expresión )
Observaciones
Ejemplo
Este ejemplo usa la función IsNumeric para determinar si una variable se puede evaluar
como un número.
With objectExpression
[ statements ]
End With
Partes
PARTES
Término Definición
objectExpression Requerido. Una expresión que se evalúa como un objeto. La expresión puede ser
arbitrariamente compleja y se evalúa solo una vez. La expresión puede evaluar
cualquier tipo de datos, incluidos los tipos elementales.
statements Opcional. Una o más declaraciones entre Withy End Withque pueden hacer referencia
a miembros de un objeto producido por la evaluación de objectExpression.
End With Requerido. Termina la definición del Withbloque.
Observaciones
Al usar With...End With, puede realizar una serie de declaraciones en un objeto específico sin
especificar el nombre del objeto varias veces. Dentro de un Withbloque de instrucción,
puede especificar un miembro del objeto que comience con un punto, como si
el Withobjeto de instrucción lo precediera.
Por ejemplo, para cambiar varias propiedades en un solo objeto, coloque las declaraciones
de asignación de propiedades dentro del With...End Withbloque, haciendo referencia al
objeto solo una vez en lugar de una vez para cada asignación de propiedad.
Dentro de un Withbloque, puede acceder a los métodos y propiedades solo del objeto
especificado sin calificarlos. Puede usar métodos y propiedades de otros objetos, pero
debe calificarlos con sus nombres de objeto.
A menos que el bloque contenga un bucle, las declaraciones se ejecutan solo una
vez. Puede anidar diferentes tipos de estructuras de control. Para obtener más
información, consulte Estructuras de control anidadas .
Ejemplo 1
With theCustomer
.Name = "Coho Vineyard"
.URL = "http://www.cohovineyard.com/"
.City = "Redmond"
End With
With theCustomer.Comments
.Add("First comment.")
.Add("Second comment.")
End With
End Sub
Para un objeto Aplicación , devuelve una colección de Hojas que representa todas las
hojas de cálculo del libro activo.
Para un objeto Libro de trabajo , devuelve una colección de Hojas que representa todas
las hojas de trabajo del libro de trabajo especificado.
Sintaxis
Observaciones
El uso de esta propiedad sin un calificador de objeto devuelve todas las hojas de cálculo
del libro de trabajo activo.
Ejemplo
MsgBox Worksheets("Sheet1").Range("A1").Value
Este ejemplo muestra el nombre de cada hoja de trabajo en el libro de trabajo activo.