Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Funciones de VBA


.

Programar macros de VBA para Excel, como se podrá observar a lo largo de los ejemplos de macro de este blog, lleva a conocer a fondo las distintas maneras de seleccionar o referenciar celdas, como así también saber los distintos términos usados en VBA, además de conocer a fondo las distintas funciones de VBA, siendo el motivo de este post, el cual responde a preguntas como cuales son las funciones de VBA, que funciones trae incorporadas VBA, con que función de VBA se puede hacer tal o cual cosa, como por ejemplo convertir a mayúsculas o minúsculas.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

A continuación se va a exponer un ejemplo de algunas de las funciones de VBA más utilizadas, si necesitas obtener un ejemplo de todas las funciones de VBA te invito a consulta mi libro digital sobre funciones de VBA donde se presenta una explicación y un ejemplo de cada una de las funciones de VBA, seguidamente se muestran 3 vídeos explicando el tema.

La función  Abs permite regresar el valor absoluto de un número, éste es su magnitud sin depender del signo es decir si una celda contiene -10 o 10 esta función devuelve el valor absoluto 10, sin depender del signo, aplicado al valor de una celda la expresión sería; la celda B1 es igual al valor absoluto de la celda A1.

Cells(1, 2) = Abs(Cells(1, 1))

Asc, permite obtener el valor ASCII del primer carácter, si en la celda B1 el número escrito es -2788,09 el primer carácter es «-» y se forma con teclado con alt + 45, siendo valor devuelto por la función.

Cells(2, 2) = Asc(Cells(2, 1))

Convierte una expresión al tipo de dato moneda (Currency) en este caso B5 va a ser igual al valor expresado en formato  tipo moneda del valor de la celda A1.

Cells(5, 2) = CCur(Cells(1, 1))

Convierte una expresión al tipo de dato fecha (Date)

Cells(6, 2) = CDate(Cells(6, 1))

Convierte una expresión al tipo de dato decimal (Decimal)

Cells(8, 2) = CDec(Cells(1, 1))

Regresa un número como un texto con formato de porcentaje

Cells(29, 2) = FormatPercent(Cells(1, 1))

Regresa la hora de un valor de tiempo

Cells(30, 2) = Hour(Cells(1, 1))

Muestra un cuadro de diálogo que solicita la entrada del usuario
Cells(32, 2) = InputBox(Cells(1, 1))
Regresa la posición de una cadena de texto dentro de otra cadena
Cells(33, 2) = InStr(Cells(1, 1), 2)
Regresa verdadero si la variable está vacía
Cells(37, 2) = IsEmpty(Cells(1, 1))
Regresa verdadero si la expresión es un valor de error
Cells(38, 2) = IsError(Cells(1, 1))
Regresa verdadero si la variable es un valor numérico
Cells(40, 2) = IsNumeric(Cells(1, 1))
Regresa una cadena convertida en minúsculas
Cells(42, 2) = LCase(Cells(1, 1))
Regresa la longitud de una cadena (en caracteres)
Cells(44, 2) = Len(Cells(1, 1))

Despliega un cuadro de dialogo con un mensaje especificado
Cells(5, 2) = MsgBox(Cells(1, 1))
Regresa la fecha y hora actual del sistema
Cells(5, 2) = Now(Cells(1, 1))

Redondea un número a una cantidad específica de decimales, en este caso dos decimales

Cells(57, 2) = Round(Cells(1, 1), 2)

Invierte el orden de los caracteres de una cadena

Cells(61, 2) = StrReverse(Cells(1, 1))

Convierte una cadena de texto en mayúsculas

Cells(67, 2) = UCase(Cells(1, 1))

Regresa el número contenido en una cadena de texto

Cells(68, 2) = Val(Cells(1, 1))


Regresa el nombre de un día de la semana, si fuera 3 el número de la celda B70, devuelve Martes, la semana empieza el domingo, según la función expuesta.

Cells(70, 2) = WeekdayName(Cells(70, 1))

Obtiene el año de una fecha

Cells(71, 2) = Year(Cells(71, 1))

Los vídeos que siguen muestran una explicación más detallada y gráfica de las funiones presentadas, se ha dividido el tema en tres partes para que no sea tan extenso, recomiendo observar cada uno de ellos para una más fácil comprensión de las funciones; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

En el cuadro siguiente se exponen  las distintas funciones de VBA y una pequeña descripción de lo que realiza la función:

FUNCIÓNDESCRIPCIÓN
1AbsRegresa
el valor absoluto de un número
2AscObtiene
el valor ASCII del primer caracter de una cadena de texto
3CBoolConvierte
una expresión a su valor booleano
4CByteConvierte
una expresión al tipo de dato Byte
5CCurConvierte
una expresión al tipo de dato moneda (Currency)
6CDateConvierte
una expresión al tipo de dato fecha (Date)
7CDblConvierte
una expresión al tipo de dato doble (Double)
8CDecConvierte
una expresión al tipo de dato decimal (Decimal)
9ChooseSelecciona
un valor de una lista de argumentos
10ChrConvierte
un valor ANSI en valor de tipo texto
11CIntConvierte
una expresión en un dato de tipo entero (Int)
12CLngConvierte
una expresión en un dato de tipo largo (Long)
13CreateObjectCrea
un objeto de tipo OLE
14CStrConvierte
una expresión en un dato de tipo texto (String)
15CurDirRegresa
la ruta actual
16CVarConvierte
una expresión en un dato de tipo variante (Var)
17DateRegresa
la fecha actual del sistema
18DateAddAgrega
un intervalo de tiempo a una fecha especificada
19DateDiffObtiene
la diferencia entre una fecha y un intervalo de tiempo especificado
20DatePartRegresa
una parte específica de una fecha
21DateSerialConvierte
una fecha en un número serial
22DateValueConvierte
una cadena de texto en una fecha
23DayRegresa
el día del mes de una fecha
24DirRegresa
el nombre de un archivo o directorio que concuerde con un patrón
25EOFRegresa
verdadero si se ha llegado al final de un archivo
26FileDateTimeRegresa
la fecha y hora de la última modificación de un archivo
27FileLenRegresa
el número de bytes en un archivo
28FormatCurrencyRegresa
un número como un texto con formato de moneda
29FormatPercentRegresa
un número como un texto con formato de porcentaje
30HourRegresa
la hora de un valor de tiempo
31IIfRegresa
un de dos partes, dependiendo de la evaluación de una expresión
32InputBoxMuestra
un cuadro de diálogo que solicita la entrada del usuario
33InStrRegresa
la posición de una cadena de texto dentro de otra cadena
34InStrRevRegresa
la posición de una cadena de texto dentro de otra cadena pero empezando desde
el final
35IntRegresa
la parte entera de un número
36IsDateRegresa
verdadero si la variable es una fecha
37IsEmptyRegresa
verdadero si la variable está vacía
38IsErrorRegresa
verdadero si la expresión es un valor de error
39IsNullRegresa
verdadero si la expresión es un valor nulo
40IsNumericRegresa
verdadero si la variable es un valor numérico
41JoinRegresa
una cadena de texto creada al unir las cadenas contenidas en un arreglo
42LCaseRegresa
una cadena convertida en minúsculas
43LeftRegresa
un número específico de caracteres a la izquierda de una cadena
44LenRegresa
la longitud de una cadena (en caracteres)
45LTrimRemueve
los espacios a la izquierda de una cadena
46MidExtrae
un número específico de caracteres de una cadena de texto
47MinuteRegresa
el minuto de una dato de tiempo
48MonthRegresa
el mes de una fecha
49MsgBoxDespliega
un cuadro de dialogo con un mensaje especificado
50NowRegresa
la fecha y hora actual del sistema
51ReplaceReemplaza
una cadena de texto con otra
52Spaceregresa
una cadena de texto con el número de espacios especificados
53SplitRegresa
un arreglo formado for cadenas de texto que formaban una sola cadena
54StrRegresa
la representación en texto de un número
55RightRegresa
un número especificado de caracteres a la derecha de una cadena de texto
56RndRegresa
un número aleatorio entre 0 y 1
57RoundRedondea
un número a una cantidad específica de decimales
58RTrimRemueve
los espacios en blanco a la derecha de una cadena de texto
59SecondRegresa
los segundos de un dato de tiempo
60StrCompCompara
dos cadenas de texto
61StrReverseInvierte
el orden de los caracteres de una cadena
62TimeRegresa
el tiempo actual del sistema
63TimerRegresa
el número de segundos desde la media noche
64TimeValueConvierte
una cadena de texto a un número de serie de tiempo
65TrimRemueve
los espacios en blanco al inicio y final de una cadena de texto
66TypeNameObtiene
el nombre del tipo de dato de una variable
67UCaseConvierte
una cadena de texto en mayúsculas
68ValRegresa
el número contenido en una cadena de texto
69WeekdayRegresa
un número que representa un día de la semana
70WeekdayNameRegresa
el nombre de un día de la semana
71YearObtiene
el año de una fecha

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar ejemplos de forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends