Quiero aprender los conceptos básicos de VBA en EXCEL
Descripción general de VBA: VBA es la abreviatura de Visual Basic For Application y es la aplicación de VB en Office. Está desarrollado en base a Visual Basic para Windows. VB para Windows es un lenguaje de programación lanzado por Microsoft en 1992 para desarrollar aplicaciones de Windows. Debido a su sintaxis básica simple, fácil de aprender y usar, es muy popular entre los usuarios. VBA y VB para Windows son generalmente similares.
Antes de Office 2000, las aplicaciones de VBA en el software del sistema Office como Word, Excel y Access eran algo diferentes, pero en Office 2000 estaban unificadas.
Excel es la primera aplicación que incluye VBA. Desde Office 2000, existe un lenguaje de macros estándar unificado VBA en Eexel, Word, PowerPoint y Access. Entre ellos, el VBA de Excel y Access. más maduro.
En Excel, los programas VBA se pueden almacenar en .xls o por separado en forma de texto. Para aprender VBA, los usuarios primero deben tener cierta comprensión de VB (pero no es necesario que sean profesionales, después de todo, los usuarios que usan Excel con frecuencia son generalmente trabajadores de oficina y no pueden ser programadores profesionales), y luego aprender con una grabadora de macros. Debido a que la grabadora de macros puede grabar macros, los usuarios pueden comprender claramente muchos conocimientos de VBA. Además, si no es un programa VBA muy potente, entonces es suficiente con una grabadora de macros. Para abrir la grabadora de contraseñas, vaya a "Herramientas->Macro->Grabar nueva macro". Además, los usuarios pueden utilizar "Herramientas->Macros->Macros..." para administrar macros. Utilice "Herramientas->Macro->Editor VB" o Alt F11 para abrir el editor VB. En el programador VB, puede administrar fácilmente todo el proyecto VB y escribir código VBA. Además, el usuario puede hacer clic en los interruptores Alt F11. Ventana de Excel.
Proceso de uso de VBA:
1. Cree un archivo Excel.
2. Cree un control, luego haga doble clic en el control o haga clic derecho en el control y haga clic en "Ver código" para ver un evento del control, como clic, pulsación de tecla, etc.
Es hora de escribir código de ejecución. El método para crear un control es hacer clic en "Ver->Barra de herramientas->Caja de herramientas de control" para abrir la barra "Caja de herramientas de control" y luego arrastrar un control directamente a una celda de Excel. En la ventana de Excel, el control agregado generalmente está en estado de ejecución. Si desea editar este control, además de editar sus propiedades cuando se crea por primera vez, también puede abrir la "Caja de herramientas de control" para crear el control en Edición. estado, si aún no funciona, puede agregar otro control, y luego el control existente definitivamente estará en estado de edición. Por supuesto, después de modificar los controles, no olvide eliminar los controles inútiles recién agregados. En el estado de edición, puede hacer clic derecho en el control y hacer clic en "Propiedades" para abrir la ventana de propiedades. En esta ventana, puede editar fácilmente el nombre, el título, el tamaño y otras propiedades del control.
3. Codificar un evento del control manualmente o con un grabador de macros. La grabadora de macros es simple y fácil de usar, pero sus potentes funciones aún requieren programación manual de VBA.
Introducción a los objetos VBA:
La clave para escribir código VBA es usar objetos VBA de manera flexible y operar las propiedades o métodos de estos objetos VBA. Además, también puede crear funciones personalizadas para encapsular determinadas operaciones.
Dado que es VBA, el estilo de codificación es, por supuesto, el mismo que el de VB. Si conoce VB, puede escribir programas VBA potentes siempre que tenga un buen conocimiento de los objetos de VBA. De manera similar, si no conoce VB, entonces; Solo necesitas entender los objetos de VBA, porque es relativamente simple y fácil de aprender.
A continuación se analizan las propiedades y métodos de cada objeto VBA:
En algunos objetos de ventana que pueden contener otros objetos, hay varias propiedades especiales cuyo valor es la actividad actual. Los objetos pueden ser referenciado directamente.
Tabla 1 Algunas propiedades especiales
Significado del nombre del objeto
Libro de trabajo actual de ActiveWorkbook, es decir, si tiene varios archivos de Excel abiertos, entonces, por supuesto, está editando. El archivo de Excel es ActiveWorkbook
ActiveSheet es la hoja de trabajo actual en el libro de trabajo actual, es decir, la hoja de trabajo que se está editando en el archivo de Excel actualmente editado
ActiveCell es la celda activa en el archivo de Excel actual. hoja de trabajo
ActiveChart El gráfico activo en el libro de trabajo actual
Selección El objeto actualmente seleccionado
Analicemos cada objeto y sus propiedades y métodos en detalle
1. Objeto de aplicación
Este objeto se refiere al entorno de trabajo de la aplicación Excel.
<1>Propiedades
1. Propiedad de título
Significado: El texto que se muestra en la barra de título de la aplicación Excel.
Por ejemplo: Application.caption="Sistema de gestión de tripulación", si se asigna Vacío, se restaurará la barra de título predeterminada de Excel.
2.Propiedad del cursor
Significado: La forma del mouse en Excel.
Tabla 2 Atributos del cursor
Valor del atributo forma del mouse
xlValor de tipo faltante predeterminado, al mouse le falta una forma
xlEspera tipo de espera valor, el mouse tiene la forma de un reloj de arena que sigue volteándose
xlNorthwestArrow valor en forma de flecha, el mouse tiene la forma de flecha estándar
xlIBeam valor de tipo de texto, el el mouse tiene la forma de "I" para esperar a que el usuario ingrese texto
Operación: Application.Cursor=xlWait, etc.
3. Atributos de DisplayAlerts
Significado: se utiliza para determinar si se muestran mensajes de advertencia y mensajes de las aplicaciones del sistema. Si no desea mostrarlos, establezca estos atributos en falso y viceversa. viceversa.
4. Atributo DisplayFormulaBar
Significado: se utiliza para determinar si se muestra la barra de edición de fórmulas
5. Atributo DisplayScrollBars
Significado: se utiliza para determinar si se muestra la barra de desplazamiento de Excel
6. Propiedad DisplayStatusBar
Significado: se utiliza para determinar si se muestra la barra de estado de Excel
7. propiedad
Significado: Se utiliza para determinar si el usuario puede interrumpir la ejecución del programa VBA. De forma predeterminada, durante la ejecución de un programa VBA, el usuario puede interrumpir la ejecución del programa VBA presionando Ctrl Break. En este momento, el valor de este atributo es xlInterrupt.
Si desea desactivar la interrupción del programa VBA, asigne el valor a xlDisabled; si necesita cancelar un error cuando se ejecuta VBA, asigne el valor al atributo xlErrorHandler
8. > Significado: Se utiliza para Determina si se muestran los resultados de la operación intermedia del programa VBA.
9. Propiedad StatusBar
Significado: Establece el texto de la barra de estado
10. Propiedad ActiveWorkbook
Significado: Como se presenta en Tabla 1.
11. ActiveSheet
Significado: Como se presenta en la Tabla 1.
12. Atributos de ActiveCell
Significado: Como se presenta en la Tabla 1.
13. Propiedad ThisWorkBook
Significado: Se utiliza para devolver el objeto del libro de trabajo donde se está ejecutando el programa VBA. Este no es el libro de trabajo actual. Por ejemplo, cuando hay varios libros abiertos, la propiedad ActiveWorkbook devuelve el objeto del libro actual y ThisWorkbook devuelve el objeto del libro donde se ejecuta el programa VBA.
14. Atributo PathSeparator
Significado: Devuelve el separador de ruta del archivo "\".
Ejemplo: atenuar strPath como cadena
strPath=Application.ThisWorkbook.Pathamp; Application.PathSeperator
Workbooks.Open strPathamp "myExcel.xls"
p>p>
15. Atributo UserName
Significado: establece el nombre de usuario actual. El usuario predeterminado está determinado por el "Nombre de usuario" en la pestaña "General" del cuadro de diálogo Opciones de Excel. Los usuarios pueden seleccionar el comando "Opciones" del menú "Herramientas" para abrir opciones y restablecer el nombre de usuario predeterminado en el cuadro de texto "Nombre de usuario" en la pestaña "General".
<2>Método
1. Método de cálculo
Significado: recalcular todas las fórmulas en el libro abierto en Excel.
2. Método Goto
Significado: seleccione un objeto Range o un proceso VBA en el libro de trabajo, el formato es el siguiente:
Aplicación.Goto Reference, Desplazamiento
El parámetro Referencia indica el destino del método Goto. Si el parámetro Desplazamiento es Verdadero, la barra de desplazamiento se desplazará para que el objeto Rango aparezca en la esquina superior izquierda de la ventana del libro. Falso, las propiedades de la ventana del libro actual no cambiarán. El valor predeterminado es Galse
Ejemplo: Application.Goto Range("C3"), True
3 método InputBox
Significado: se utiliza para abrir una entrada. Cuadro de diálogo que permite al usuario ingresar datos.
El formato es el siguiente:
Application.InputBox(prompt, title, left, top, helpFile, helpContextID, type)
El parámetro de solicitud se utiliza para configurar la información de solicitud del cuadro de diálogo de entrada
El parámetro de título se usa para establecer el texto del título del cuadro de diálogo de entrada
El parámetro predeterminado se usa para establecer el valor de entrada predeterminado del cuadro de diálogo de entrada
p>Los parámetros izquierdo y superior se usan para configurar el cuadro de diálogo de entrada. El valor de las coordenadas de la esquina superior izquierda del cuadro.
El parámetro helpFile se usa para configurar el nombre de la ayuda en línea. en el cuadro de diálogo de entrada
El parámetro helpContextID se usa para establecer el número de identificación de contexto del tema de ayuda en línea en el cuadro de diálogo de entrada
El parámetro tipo se usa para establecer el tipo de introduzca datos en el cuadro de diálogo de entrada. Por defecto, es tipo de texto
Ejemplo: UserValue=Application.InputBox("Ingrese datos", "Entrada de datos", Tipo: =7)
4. /p>
Significado: Ejecutar un código VBA cuando se presiona una determinada tecla o combinación. Lo sabrás después de probarlo tú mismo, o también puedes mirar las indicaciones del editor VB (es decir, el mensaje desplegable que aparece en el editor VB después de ingresar Application.Onkey.
2 . Conjunto de objetos de libros de trabajo
Una colección de todos los objetos de libros de trabajo abiertos actualmente
lt; propiedad agt;
1. de libros abiertos en Excel
lt; 2> Método
1. El método Agregar, que agrega un nuevo libro al objeto del libro, es equivalente al comando "Archivo->Nuevo". El formato es el siguiente:
Workbooks.Add Template
2. Abra el método, abra un libro de trabajo específico. Solo mire las indicaciones en el editor de VBA. escribir de forma completa.
3. Método Close, cierra un archivo de libro de trabajo
3 Objeto de libro de trabajo
Representa un archivo de libro de trabajo independiente
lt; a gt; Propiedades
1. Propiedad ActiveSheet, devuelve el objeto de hoja de trabajo activo en el libro de trabajo actual
2. determinar el propietario del libro de trabajo
3. Atributo guardado, utilizado para determinar si el archivo del libro de trabajo ha sido modificado
lt 2> Método
1. , utilizado para configurar un libro de trabajo como el libro de trabajo actualmente activo, como Workbooks("myOffice.xls").Activar
2. Método de cierre, utilizado para cerrar el libro de trabajo especificado
. 3. Método Guardar, utilizado para guardar el libro de trabajo especificado
4. Método SaveAs, utilizado para guardar como el libro de trabajo especificado
4. la colección de todas las hojas de trabajo (Hojas de trabajo) en el libro de trabajo actual.
lt; un gt; atributo
1. Atributo de conteo, devuelve el número de hojas de trabajo en el libro de trabajo actual
lt dos gt; >
1. Agregar método, agrega un nuevo objeto de hoja de trabajo al conjunto de objetos de hoja de trabajo, el formato es el siguiente:
Hojas de trabajo. Agregar antes, después, contar, escribir
Los parámetros Antes y Después se refieren a qué hoja de trabajo se inserta antes o después de la nueva hoja de trabajo. El valor es Worksheet
Por ejemplo: Worksheets.Add Before:=Worksheets("Sheet2"), equivale a insertar una nueva hoja de trabajo antes de la hoja de trabajo Sheet2
5. objeto
representa una hoja de trabajo independiente del libro de trabajo.
Para obtener una hoja de trabajo, puede usar Hojas de trabajo ("Gastos de oficina"), o puede usar declaraciones como Hojas de trabajo(3)
lt;一gt;Atributos
1. Propiedad de nombre, establece o devuelve el nombre del objeto de la hoja de trabajo
2. Propiedad visible, determina si se oculta una hoja de trabajo
lt; p>
1. Método de cálculo, recalcula todas las fórmulas en la hoja de trabajo especificada
2. Método de copia, utilizado para copiar la hoja de trabajo especificada y colocarla en la ubicación especificada. En realidad, es una función que enfatiza. tanto copiando como pegando,
Formato: Hoja-Objeto.Copiar antes, Después
Por ejemplo, Hoja de trabajo("Hoja2").Copiar después:=Hojas de trabajo("Gastos de oficina") , que equivale a copiar la hoja de cálculo Hoja2 y colocarla después de la hoja de cálculo denominada "Gastos de oficina"
3. El método Move, mueve la hoja de cálculo especificada y la coloca en la ubicación especificada, el usuario es el mismo que. el método Copiar, la única diferencia es copiar y cortar
4. Método Eliminar, sin parámetros para eliminar la hoja de trabajo especificada, como Hoja de trabajo ("Hoja2"). Eliminar
5. Método de celda, obtiene una celda en la fila y fila especificadas de la hoja de trabajo especificada
Formato: Hoja de trabajo-Objeto. Las celdas (Fila, Col), Fila, Col son números enteros y los valores de fila y fila son de 1 Inicio
Por ejemplo, Hoja de trabajo("Hoja2").Celda(1, 1), que equivale a obtener la celda en la primera fila y la primera columna de la hoja de trabajo Hoja2
5. Objeto de rango
Representa un área de medio puente, que puede estar compuesta por varios medios puentes o una celda.
Se pueden utilizar los dos métodos siguientes para hacer referencia a celdas:
Uno es utilizar referencias de celda, como Rango("A1"), Rango("A1:C3")
El segundo es utilizar el nombre del rango de celdas, como Rango("myRange").
lt;一gt;Atributos
1. Atributo FormulaR1C1, crea y almacena fórmulas para celdas o rangos de celdas específicos,
Como Rango(" C5" ).FormulaR1C1="=SUM(R[-4]C:R[-1]C)"
2. Atributo de valor, asigne un valor a la celda o rango de celdas especificado, como varias celdas. se les asigna el mismo valor
3. El atributo Celda utiliza la celda especificada como celda para describir la celda a la que se hace referencia, y la celda especificada se considera como fila 1. 1 columna
Formato. : Range-Object.Cells(Row, Col)
4. Desplazamiento, utilice la celda especificada como desplazamiento para describir la celda a la que se hace referencia y cambie la celda especificada como fila 0 y columna 0 <. /p>
Formato: Range-Object.Cells(Row, Col)
5. Atributo de nombre, devuelve o establece la celda especificada o el nombre del rango de celdas, y luego en VBA, usted puede hacer referencia a él directamente por nombre
6. Propiedad Count, devuelve el número de celdas contenidas en el rango de celdas especificado, atributo de solo lectura
7, devuelve una región de celda vinculada. que almacena datos basados en una determinada celda
lt; 2gt; método
1. Método de selección, utilizado para seleccionar un rango de celdas específico después de la ejecución. La esquina izquierda del rango de celdas se convierte en la celda activa
Por ejemplo, Rango("A1:C3").Select, Range("A1: C3, D5: E6, A8: E8).Select p>
2. Método de activación, utilizado para seleccionar la celda especificada y especificarla para que se convierta en la celda activa. Por supuesto, solo este rango de celdas La primera celda en la esquina superior izquierda se convierte en la celda activa
<. p>3. Método AutoFit, ajuste la altura de la fila y el ancho de la columna del área de celda seleccionada para que la altura y el ancho de la fila sean óptimos automáticamente.Por ejemplo: Range("A4").CurrentRegion.Select
Selection.Rows.AutoFit
4. Método Clear, borra el contenido del rango de celdas especificado. , el formato y los comentarios son equivalentes a "Editar -> Borrar -> Todo"
Por ejemplo: Rango("A4:C5").Borrar
5. El contenido del rango de celdas es equivalente a "Editar->Borrar->Contenido"
6. El método ClearFormats, para borrar el contenido del rango de celdas especificado, es equivalente a "Editar->Borrar-> Formato"
7. Los métodos ClearComments y ClearNotes borran el contenido del rango de celdas especificado, lo que equivale a "Editar->Borrar->Comentarios"
8. El método Copiar borra el rango de celdas especificado. Copia la base de datos en el rango al portapapeles o al rango de celdas de destino especificado
9. Corta la base de datos en el rango de celdas especificado al portapapeles o al rango de celdas de destino especificado.
10. Método PasteSpecial, utilizado para pegar selectivamente la base de datos en el rango de celdas copiada o cortada del portapapeles en el rango de celdas de destino especificado
Formato: Range-Object.PasteSpecial Pegar, Operación, ShipBlanks, Transposición
El parámetro Pegar especifica la selección de datos de tipo de volumen para pegar, como fórmulas, contenido, comentarios, etc. Para valores específicos, consulte las indicaciones en el editor VB p>