Códigos comunes de Excel vba
Tipo de datos
Tipo de datos básicos
Es decir, el tipo principal de datos y el número de bytes entre paréntesis en la siguiente lista :?
¿Bytes? (1): tipo de número sin signo, el rango de valores es 0-255.
¿Booleano? (2)
Entero (2)
¿Es largo? (4)
¿Soltero? (4)
¿Doble? (8)
¿Moneda? (8)
¿Decimal? (14)
¿Una cita? (8)
Línea
¿Objeto? (4)
¿Variante? (por asignación)? [2]?
Tipo de datos personalizado
Equivalente a estructura en lenguaje C, como por ejemplo:? [2]?
Escriba el nombre del tipo personalizado nombre del elemento como tipo...[nombre del elemento como tipo] tipo final
Disposición
Opción base 0: Matriz ¿Los valores del índice comienzan desde 0? [2]?
Opción base 1: el valor del índice de la matriz comienza desde 1.
dim MyArray(10): Declara una variable de matriz, 10 es el valor de índice de matriz máximo disponible.
MyArray(5) = 101: Asigna un valor a los elementos del array.
dim Data (10, 5): Declara una variable de matriz bidimensional.
data (1, 1) = "a 001": Asigna un valor al elemento del array.
dim carr (-11to 20, 1to 3) como cadena: declara una matriz y define los límites superior e inferior del valor del índice de la matriz.
dim dArr() Como cadena: declara una matriz dinámica.
ReDim dArr (0 a 5, 1 a 2): Por defecto, cambia el tamaño de la matriz dinámica para borrar los datos originales. Si conserva los datos originales, debe agregar parámetros.
Conservar: Cuando se utiliza el parámetro Conservar, solo se puede cambiar el tamaño del último bit.
Si UBound(vTemp)=-1 entonces: Determine si la variable de matriz v temp es una matriz vacía.
Fin Si Erase MyArrar, ¿la instrucción Data Erase borra los elementos de la matriz y libera el espacio ocupado por las variables? [2]?
Constantes
Editar
Constantes definidas por el sistema
Hay tres constantes definidas por el sistema: Verdadero, Falso y Nulo. ? [4]?
Constantes intrínsecas
Las constantes intrínsecas son constantes definidas por bibliotecas de objetos a las que se hace referencia durante la programación. Todas las constantes intrínsecas se pueden utilizar en macros o código VBA. Normalmente, las constantes intrínsecas se definen con las dos primeras letras. Las constantes en la biblioteca vb comienzan con "VB". Las constantes en Access comienzan con "ac". Puede utilizar el Explorador de objetos para ver listas de constantes internas en todas las bibliotecas de objetos. ? [4]?
En VBA, los tipos de datos de las constantes incluyen entero, entero largo, precisión simple, precisión doble, byte, moneda, carácter, fecha y lógica. Los datos enteros son una constante entera y los datos enteros largos son una constante entera larga. Por ejemplo, 12%, -1% son constantes enteras, mientras que 32768 &, 10000000 & es una constante entera larga, -2.5 1, 3.14 es una constante de número real de precisión simple, 3.1415926# es una constante de número real de doble precisión. , y China y Shanghai son constantes de carácter, #07/13/20065438+.
? [4]?
Constantes simbólicas
Las constantes que uno mismo puede definir, es decir, las constantes simbólicas, deben definirse antes de su uso. Como puede verse, las constantes a declarar son constantes simbólicas. ? [4]?
Formato de sintaxis básica:
1 [?Publicr/? privado】? Nombre de constante constante [Como tipo] = expresión como: global Const? ¿Nombre de constante simbólica = valor constante? [4]?
Función de declaración:
Defina una constante simbólica y asigne el valor de la expresión especificada a la constante simbólica. ? [4]?
La afirmación es la siguiente:? [4]?
1) Nombre de constante especifica el nombre de la constante simbólica. Los nombres de constantes simbólicas pueden constar de letras, números y guiones bajos, pero solo pueden comenzar con letras y no pueden contener espacios. ? [4]?
2) "Expresión" especifica el valor de una constante simbólica. Las expresiones normalmente constan de números, caracteres, datos lógicos o de fecha y varios operadores, pero las variables y funciones no pueden aparecer en las expresiones. ? [4]?
3) público se utiliza para indicar que el alcance de esta constante son todos los módulos de toda la base de datos. ? [4]?
4) privado significa que la constante solo es válida en el módulo usando la declaración que declara la constante. ? [4]?
Descripción:
1) Además de las constantes simbólicas definidas por el usuario, VBA también proporciona muchas constantes simbólicas que podemos usar directamente. ? [4]?
2) Las constantes simbólicas generalmente se usan para reemplazar constantes numéricas largas y se usan muchas veces en el programa. Cuando ejecuta un programa, el sistema cambia automáticamente todas las constantes simbólicas del programa al valor que se le ha asignado. ? [4]?
Variable
Editar
Al igual que las constantes, las variables también son un espacio de almacenamiento utilizado para almacenar los cambios que pueden ocurrir durante la ejecución del programa. datos. Los nombres de variables son identificadores definidos por el usuario. ? [5]?
Cuando necesite utilizar esta variable en su código, simplemente haga referencia al identificador correspondiente, independientemente del valor actual de la variable. ? [5]?
Declaración
Al igual que las constantes definidas por el usuario, las variables deben declararse antes de su uso. Hay varios formatos de sintaxis para declarar variables en VBA: [5]?
Nombre de variable de palabra clave como tipo de datos
Variable de palabra clave 1, variable 2... variable n para? Tipo de datos
Variable de palabra clave 1 AS? Tipo de datos, ¿la variable 2 es? Tipo de datos,..., variable n como tipo de datos
En el segundo formato de sintaxis, el tipo de datos de "variable n" es el tipo de datos definido después de la palabra clave AS, y "variable 1", " Variable 2" y... tienen tipos de datos de variables. ? [5]?
En VBA, puede utilizar las cuatro palabras clave Dim, Private, Public y Static para declarar variables. Las variables declaradas con diferentes palabras clave tienen significados diferentes. ? [5]?
◆ Utilice la palabra clave Dim para declarar variables: la palabra clave Dim se utiliza principalmente para asignar un espacio en la memoria y nombrar el espacio. Esta es la palabra clave más utilizada para declarar variables en VBA. Las variables declaradas con la palabra clave Dim solo se pueden usar dentro del procedimiento o módulo actual. ? [5]?
◆ Use la palabra clave Private para declarar variables: la palabra clave Private se usa para declarar variables privadas en un módulo de clase, que solo se puede usar en el módulo de clase actual. Cuando la ubicación de la variable definida está en un módulo de clase, su efecto de uso es el mismo que el de la variable definida por la palabra clave Dim. ? [5]?
◆Declarar variables con la palabra clave Pública: Las variables declaradas con la palabra clave Pública se pueden llamar en cualquier parte del programa, independientemente de la ubicación donde se declara la variable. ? [5]?
◆Utilice la palabra clave estática para declarar variables: la palabra clave estática se utiliza para declarar variables estáticas, es decir, el valor de la variable se puede conservar durante la ejecución del código. ? [5]?
Valoración
A las variables se les debe asignar un valor cuando se utilizan. En VBA, puede asignar un valor a una variable mediante el símbolo "=" o la palabra clave "Establecer". Existen varios formatos de sintaxis para asignar valores a variables utilizando el símbolo "=".
? [5]?
Nombre de variable=datos
Variable 1=Variable 2 datos del operador
Variable 1=Variable 2 variable del operador 3...variable del operador n
Si se especifica el tipo de datos de la variable al definir la variable, el valor asignado a la variable también debe ser un valor de ese tipo de datos. Si una variable se define como un tipo entero, pero a la variable se le asignan datos de tipo cadena durante la asignación, aparecerá un cuadro emergente de error durante la compilación y el tiempo de ejecución. ? [5]?
Operadores
Editar
Los operadores son símbolos especiales que realizan funciones de cálculo en programas y son una parte importante del código del programa. En el código de programa, los operadores no se pueden utilizar solos, sino que deben formar una expresión con sus operandos para que tengan significado operativo. Los operadores en VBA incluyen operadores aritméticos, operadores de concatenación, operadores de comparación y operadores lógicos. ? [4]?
Operadores aritméticos
Los operadores aritméticos se utilizan principalmente para realizar las cuatro operaciones aritméticas. Las expresiones conectadas solo por operadores aritméticos se denominan expresiones aritméticas. Los operadores aritméticos, sus funciones y ejemplos se muestran en la siguiente tabla. ? [5]?
Ejemplo
Nombre
Resultado
-$a
Revocar
Valor negativo de a.
$a + $b
Suma
la suma de a y b.
$a - $b
Resta
La diferencia entre $a y $b.
$a * $b
Aumentar
El producto de a y b
$a / $b
Separar
El cociente de $a dividido por $b permite decimales.
$a \ $b divide $a por el cociente de $b y el resultado se redondea.
$a Mod $b
Toma el control
El resto de $a dividido por $b
Nota:
Al realizar operaciones aritméticas, los tipos de datos de las operaciones en ambos lados del operador deben ser los mismos; de lo contrario, aparecerá un mensaje de error de "tipo no coinciden". Cuando los lados izquierdo y derecho del operador "+" sean operandos de tipo cadena, se realizará la operación de concatenación. Por ejemplo, la expresión "Contraseña" se evalúa como la cadena "Contraseña". ? [5]?
Operador de conexión
La función del operador de conexión es conectar los operandos en ambos lados del operador en un número. El tipo de datos de su operando suele ser un. cadena. Los operadores de conexión en VBA son "&" y "+". Debido a que "+" se confunde fácilmente con la suma al realizar operaciones de conexión, generalmente se usa "&". Realizar una operación de unión. ? [5]?
Operadores de comparación
Los operadores de comparación pueden realizar operaciones de comparación en los operandos en ambos lados del operador, y el resultado devuelto es Verdadero o Falso de tipo booleano. El operando de un operador de comparación suele ser un valor numérico específico. Cuando el operando es una cadena u otro símbolo, la comparación se basa en el código ASCII del símbolo. La siguiente tabla muestra los operadores de comparación en VBA junto con sus funciones y ejemplos. ? [5]?
Ejemplo
Nombre
Resultado
$a = $b
Competente p> p>
Verdadero si a es igual a b.
$ a & lt& gtb$
Diferente
Verdadero si a no es igual a b.
$ a & ltb$
Menor que
Verdadero si a es estrictamente menor que b.
$ a & gtb$
Mayor que
Verdadero si a es estrictamente mayor que b.
$a & lt= $b
Menor o igual
VERDADERO si $a es menor o igual a $b.
$ a & gt= $b
Mayor o igual que
VERDADERO si $a es mayor o igual que $b.
Operadores lógicos
Los operadores lógicos se utilizan para realizar operaciones lógicas en los operandos en ambos lados del operador.
Los operandos involucrados en las operaciones lógicas pueden ser expresiones lógicas (el resultado final de la expresión es verdadero o falso) o expresiones aritméticas (el valor de retorno final de la expresión es 0 o no 0). ? [5]?
En operaciones lógicas, el valor 0 es el mismo que el valor lógico Falso, lo que significa Falso lógico; el valor distinto de cero es el mismo que Verdadero, lo que significa verdad lógica. Los operadores lógicos, sus significados y ejemplos se muestran en la siguiente tabla. ? [5]?
Ejemplo
Nombre
Resultado
$a y $b
Y lógico
Verdadero si tanto $a como $b son verdaderos.
$a o $b
O lógico O
Verdadero si $a o $b es verdadero.
$a xor $b
OR exclusivo (OR lógico exclusivo)
Verdadero si $a o $b están en posiciones diferentes.
no (1>2)
No (lógico no)
Así es.
(1》2) Eqv(1>2)
Ambos operandos son falsos y devuelven falso; ambos operandos son verdaderos, esto devolverá verdadero; Dos operandos, uno verdadero y otro. false, devuelve false
Así es.
2 & lt& gt1 imp3 & lt; cinco
Los operadores izquierdo y derecho son verdaderos, devuelven Verdadero, ambos son falsos, el izquierdo es verdadero y el derecho es falso; , devuelve falso; a la izquierda falso y a la derecha verdadero, devuelve verdadero.
Así es.
Estructura gramatical
Editar
Declaración If
1If? ¿Condición 1? ¿Entonces qué? Declaración ¿si no? ¿Condición dos? ¿Entonces qué? Declaración 2elseif? ...¿si no? ¿Declarar nend? Si selecciona la declaración de caso
1, ¿selecciona? ¿Caso? ¿expresión? ¿Caso? ¿Lista de expresiones 1? ¿Declaración 1? ¿Caso? ¿Lista de expresiones 2? ¿Declaración 2? ...? ¿Caso? Lista de expresiones n? ¿Declarar nEnd? ¿elegir? La lista de expresiones puede ser:[5]?
¿Expresión? Ejemplo: "a"
Conjunto de expresiones de enumeración separados por comas Ejemplo: 2, 4, 6, 8.
Expresión 1 a? Ejemplo de Expresión 2: 60 a 100
¿En serio? Ejemplos de expresiones de operadores relacionales: is
Do... declaración de bucle
1 ¿Qué hacer? ¿Algún tiempo o hasta? ¿condición? ¿Bloque de declaración 1? ¿abandonar? ¿Hacer lo? El bloque de sentencias 2 se repite... ¿Qué pasa con la siguiente sentencia
1? ¿Bloque de declaración 1? ¿abandonar? ¿Hacer lo? ¿Bucle del bloque 2 de declaración? ¿Algún tiempo o hasta? ¿La condición de cada...siguiente declaración
1 es? Variable de control de bucle = valor inicial ¿A? ¿Paso de valor final? ¿Longitud del paso? ¿Bloque de declaración? ¿abandonar? La declaración For puede luego saltar del cuerpo del bucle y saltar de la declaración de continuación del bucle.
1 para? Variable de control de bucle = valor inicial? ¿A dónde ir? ¿Valor final? ¿Dar un paso? ¿Cuál es el tamaño del paso? Se utiliza para simular bloques de instrucciones continuas. ¿si? ¿condición? ¿Entonces qué? ¿abandonar? ¿Hacer lo? Se utiliza para simular bloques de instrucciones continuas. ¿ciclo? ¿cuando? ¿Falso? ¿Para que continúe la simulación? Siguiente Con declaración
1 y? ¿Referencia de objeto? ¿Fin del bloque de declaración? ¿Con la declaración de error
1 activada? ¿error? ¿Ir a? ¿Etiqueta para la declaración de manejo de errores? ¿Ir a la declaración de manejo de errores o
1 abierta? ¿error? CV? ¿Próximo? Cuando se encuentra un error, la función de control continúa ejecutándose independientemente del error.
¿Si (expresión condicional, expresión 1, expresión 2)? [5]?
Cambiar(expresión condicional 1, expresión 1, [expresión condicional 2, expresión 2 [,..., expresión condicional n, expresión n]]) p>
Elegir (índice, opción 1 [, opción 2, ... [, opción n]]) 'Este es un índice basado en 1.
Otras declaraciones
Editar
Declaraciones de comentarios
Línea que comienza con REM o una comilla simple. ? [6]?
Continuación y continuación de la oración
Si una línea contiene varias declaraciones, separe cada declaración con dos puntos.
Para declaraciones que abarcan varias líneas, un espacio con un "subrayado" al final de la línea indica la continuación de la línea. [6].
Proceso y Función
Editar
12 Sub? Nombre del procedimiento (lista de parámetros) bloque de instrucciones ¿Salir? ¿Fin del bloque de subdeclaraciones? ¿Función sub1? ¿Nombre de la función (lista de parámetros)? ¿Como qué? ¿tipo? ¿Bloque de declaración? Nombre de la función = expresión? ¿abandonar? ¿Fin de función? Las funciones se pueden modificar por Privado, Público, Amigo, Estático, etc. ? [6]?
Puedes llamar a una función/procedimiento con o sin paréntesis. Si la expresión se llama como parte de una línea, se deben asignar parámetros (como el valor de retorno de la llamada a la función) a la variable. Puede usar/sin la palabra clave call al llamar a un procedimiento. Los procedimientos se llaman utilizando la declaración de llamada. Si no hay parámetros, no hay paréntesis. Si hay parámetros, deben estar entre paréntesis. Si un solo argumento está entre paréntesis cuando se llama, se fuerza que el argumento se pase por valor. Cabe señalar que no es necesario llamar sin paréntesis, y los parámetros formales se pasan por valor en lugar de por referencia, lo que hará que las llamadas a métodos fallen en algunos objetos. Por ejemplo:? [6]?
1 tenue? ¿cn? ¿Como qué? ADOB. ¿Conjunto de conexión? ¿cn? =?Proyecto actual. ¿Conexión tenue? ¿rs? ¿Como qué? ¿Nuevo? ADOB. registrador. ¿Abierto? "¿Elegir? *? ¿De dónde? ¿Mi mesa"? ,?cnDim? ¿ExcelApp? ¿Como qué? ¿Nuevo? Sobresalir. AplicaciónDim? ¿Excelente Wst? ¿Como qué? ¿Conjunto de hojas de trabajo? ¿Excelente Wst? =?Aplicación Excel. libros de trabajo. agregar hojas de trabajo (1) ExcelWst. rango ("A2"). copiar del conjunto de registros (RS)? No se puede ejecutar la fila Excel wst. rango ("A2"). ¿Copiar del conjunto de registros? "Rs" puede ejecutar con éxito las funciones integradas que se utilizan comúnmente en esta fila.
Editar
Funciones integradas de VBA de uso común:? [5]?
Cuadro de diálogo
Cuadro de entrada
Función de redondeo: redondeo fijo a 0, redondeo int hacia abajo y redondeo.
Rnd: Devuelve un número aleatorio de precisión simple en el rango de 0-1.
Función de cadenas:? [5]?
Filtro: filtra una matriz de cadenas unidimensionales.
InStr([Start,]<str 1>,<Str2》[,Compare]) e InStrRev: busca subcadenas.
Len: longitud de la cadena
Conexión: conecta todas las subcadenas en una matriz unidimensional.
Izquierda, derecha, centro: intercepta subcadenas.
Espacio (valor numérico): genera una cadena de espacio.
Ucase, Lcase: funciones de conversión de casos
Ltrim, Rtrim, trim: elimina los espacios iniciales y finales.
Reemplazo
Dividir: divide la cadena en una matriz unidimensional.
StrComp: Comparación de cadenas
StrConv: Conversión de cadenas
cadena(número, carácter): Especifica cuántas veces se repite el carácter.
StrReverse
Funciones relacionadas con fecha/hora:? [5]?
Año, mes, día, día laborable, hora, minuto, segundo: intercepta la parte de fecha y hora.
DateAdd: función de incremento de fecha/hora
DateDiff(<Interval Type》,<Date1》,<Date2》[, W1][, W2] ) función de distancia de fecha/hora.
Función de división de tiempo de parte de fecha (<Segment type》,<Date》[,w1][,w2])
DateSerial(<expresión 1》;,& ltExpression 2》, & ltExpression 3》Fecha sintética; DateValue("Expresión de cadena") devuelve la fecha;
Fecha, hora, ahora, temporizador: Devuelve la fecha y la hora. Valor de fecha
TimeSerial: objeto de tiempo obtenido de la serie de tiempo
TimeValue: objeto de tiempo obtenido de la cadena de tiempo
Día de la semana: obtiene el día de la semana. fecha
Nombre de la semana
Funciones de conversión: CBool, CByte, CCur, ?CDbl, CDec, CInt, CLngLng, CLngPtr. , Asc (< expresión de cadena》) devuelve el valor del código Ascii del primer carácter, Chr (código Ascii) devuelve el carácter, Hex, Oct, str () devuelve la cadena, Val (Cadena), FormatCurrency, FormatDateTime, FormatNumber, FormatPercent, MonthName.
Si Nz (expresión o valor de atributo de campo [, valor especificado]) está vacío, ¿devuelve 0 o "" o función? p>Función de validación: isNumeric, isDate, isNull, isEmpty, IsArray, IsError, IsMissing, IsObject [5]?
Función matemática:Abs, Sqr, Tan, Atn (es decir, atan), Sin , Cos, Exp (índice basado en e), ¿Registrar logaritmo natural?
Matriz: ¿Construir un objeto de matriz [5]?
CallByName: ¿Obtener o establecer propiedades? ¿O llamar a métodos usando nombres de cadenas en tiempo de ejecución?
Flujo de control: elegir: similar a la instrucción de selección del lenguaje C, si es equivalente a la instrucción IF-ELSE, ¿cambiar?
Comando: ¿Obtener parámetros de línea de comando?
CreateObject: Crear objeto ActiveX
CurDir: ¿Devuelve la ruta de trabajo actual de la unidad especificada? ]?
Funciones derivadas de funciones matemáticas básicas: Sec, Cosec, Cotangent, Cotan, Arcsin, Arccos, Arcsec, Arccosec, Arccotan, HSin, HCos, HTan, HSec, HCosec, HCotan, harcisin, harcoss, HArctan, HArcsec, hHArccosec, HArccotan, LogN.
DoEvents: ¿Devolver temporalmente el control de la CPU al sistema? [5]?
Environ: ¿Devolver variables de entorno? [5]?
Operaciones de archivos:? [5]?
Dir: Devuelve los nombres de todos los archivos y directorios que cumplen las condiciones.
Fin del archivo
FileAttr
Fecha y hora del archivo
FileLen
Función de archivo libre
GetAttr: devuelve los valores de atributos de archivos y directorios.
Entrada: Leer archivo
Loc: Posición del puntero del archivo
LOF: Posición del puntero cuando se abre el archivo.
Búsqueda: Posicionamiento del puntero del archivo
Spc: Usar impresión para salida de posición
Etiqueta: Se usa para la función de impresión.
Error: ¿Cuál es el mensaje de error correspondiente al número de error? [5]?
Datos en el registro de Windows: GetAllSettings, SaveSetting, DeleteSetting, GetSetting? [5]?
Getobject: ¿Referencia para componentes ActiveX? [5]?
IMEStatus: ¿Devuelve el editor de métodos de entrada (IME) actual? [5]?
Plataforma Macintosh: ¿MacID, MacScript? [5]?
Funciones financieras:? [5]?
DDB: Calcula la depreciación utilizando el método del doble saldo decreciente.
FV: Anualidad a tipo fijo.
IPmt: Calcular tasa de interés
TIR: Calcular tasa de interés
MIRR: Calcular tasa de interés
NPer: Periodo de conteo
NPV: Calcular el valor presente neto
Pago: Calcular el monto del pago
Calcular el pago del principal
PV: Calcular el valor presente
Tasa de interés: Tasa de interés
SLN: Método de depreciación lineal
SYD: Calcula la suma de los años de depreciación.
Partición: Devuelve una cadena que indica qué nombre numérico pertenece a cada rango. ¿Qué se utilizan comúnmente en las declaraciones de selección de SQL? [5]?
QBColor: ¿Buena apariencia? [5]?
RGB: ¿Apariencia? [5]?
TypeName: ¿Obtener el nombre del tipo de la variable? [5]?
VarType: ¿Obtener el número de tipos de variables? [5]?