Ahora podrá crear mis propias formulas Se emociona
Introducción a Macros y VBA
¿Qué es VBA y qué son las macros?
Espacio de VBA
Diagrama de flujo
Variables y tipos de datos
Funciones y subrutinas
Grabar y correr macros
Quiz: Introducción a Macros y VBA
Funciones y subrutinas
Sintaxis de funciones y subrutinas
Crear una función
Crear una subrutina
Message Box
Input Box
Select Case
If - Then
Ciclos For - Next
Ciclos Do While - Loop
Quiz: Funciones y subrutinas
Resumen y conclusión
Resumen y conclusión
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aprender a crear funciones en Visual Basic te dará autonomía y eficiencia en tus proyectos, permitiéndote resolver problemas específicos mediante la personalización del entorno. Las funciones te pueden ahorrar tiempo y esfuerzo, facilitando tu trabajo con tareas repetitivas o cálculos complejos. En este artículo, descubrirás cómo crear una función en Visual Basic y cómo implementarla en Excel para maximizar tus resultados.
Crear una función en Visual Basic es un proceso metódico que empieza por la definición de un problema que necesitas resolver. Por ejemplo, calcular un año después de agregar un número fijo al año actual.
Para verificar la funcionalidad correcta de tu función dentro de Visual Basic, usa la ventana "Inmediato" (disponible en el menú "Ver"). Allí:
Este método es inmediato para verificar la función con diferentes parámetros, asegurando su correcto funcionamiento.
Una vez definida en Visual Basic, la función personalizada puede ser integrada en Excel. Esto te permite ampliar el potencial de tus hojas de cálculo al utilizar operaciones específicas no disponibles en las funciones estándar de Excel.
igual ( = )
y el nombre de tu función en una celda de Excel, selecciona o ingresa el parámetro adecuado.Visual Basic maneja los errores redondeando valores erróneos al tipo esperado. Por ejemplo, si ingresas un decimal cuando se espera un entero, este se redondeará automáticamente. Esto garantiza que las funciones permanezcan robustas ante entradas inesperadas.
Te animamos a aplicar lo aprendido creando una función propia, como calcular el cuadrado de un número. Este ejercicio te ayudará a familiarizarte más con la sintaxis y lógica del lenguaje. ¡Comparte tus resultados para seguir mejorando y compartir tus avances! Con práctica continua, te volverás cada vez más competente y eficiente en el uso de Visual Basic.
Aportes 309
Preguntas 24
Ahora podrá crear mis propias formulas Se emociona
Es increíble no sabia que se podía hacer esto, ahora puedo hacer una función que se llame " el loco Hugo" y que haga algo útil.
Jajajaja.
Decidí crear una función para edad.
Mi primera prueba de Función con VBA
Public Function prueba(X As Integer) As Integer
prueba = X * 38
End Function
Aquí mi solución, yo más o menos se programar, pero el crear un script tan sencillo con un lenguaje que no conozco me emociono.
Wow profe Ana, cuando le dio “=” en excel y le salió la función prueba cambió mi vida. Puedo hacer mis propias funciones!!!
Hecho!
.
Si queremos crear una formula que contenga mas de un parámetro, el separador que se debe usar es coma (,) o punto y coma (😉 según el idioma que uses, y recuerda que dentro del libro de excel los parámetros se pudieran tan cual fueron crearon en la función, y esta función ejecutara con estos parámetros las indicaciones dadas. Importante, integer lo podemos usar para números máximos de 3 caracteres, mayores de ahí recomendable usar long
En el momento en que la profe Ana ingresa 1.5 VBA ejecuta redondeo puesto que no reconoce el número como decimal. Para que se reconozca como decimal se debe ingresar con coma (,) y no con punto(.). De esa manera si se ingresa el decimal con el signo coma (,) automáticamente arroja un error puesto que no lo reconoce como entero (Integer).
Function DIAS_HABilES(D_HABILES As Long, FECHA As Date, Rango_Festivo As Range)
Dim Fhabil As Date
Dim dia
Dim n_vuelta
Dim FESTIVo
Fhabil = FECHA
n_vuelta = 1
Dfes = 0
'‘MsgBox Rango_Festivo.Address
’'Hoja2.Range(“A:A”).NumberFormat = “General”
Do Until dia >= D_HABILES
Set CELDA = Rango_Festivo.Find(What:=Fhabil * 1, LookIn:=xlValues, LookAt:=xlPart)
If CELDA Is Nothing Then FESTIVo = 0 Else FESTIVo = 1
''MsgBox n_vuelta
'Valido si el dia es habil
If Weekday(Fhabil, vbSaturday) = 1 Or Weekday(Fhabil, vbSunday) = 1 Or FESTIVo = 1 Then
If dia = D_HABILES Then dia = dia - 1
Fhabil = FECHA + n_vuelta
Else
' MsgBox "dia " & dia
' MsgBox Format(fhabil, "dd-mm-yyyy") & "-" & Format(fhabil, "dddd")
If dia <> D_HABILES Then dia = dia + 1
If dia <> D_HABILES Then Fhabil = FECHA + n_vuelta
End If
n_vuelta = n_vuelta + 1
Loop
DIAS_HABilES = Fhabil
End Function
Funcion avanzar desde una fecha n cantidad de dias Habiles
Sabía que existía visual basic pero ni idea que servía para crear funciones.
Está hecho 👇
=D
Public Function porsimismo(X As Integer) As Integer
porsimismo = X * X
End Function
Public Function AL_CUADRADO(X As Integer) As Integer
AL_CUADRADO = X * X
End Function
Así me quedo
Public Function multiplica(X As Integer) As Integer
multiplica = X * X
End Function
Buenas tardes profesora me arrojó bien el resultado
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?