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
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Ana Parente Dodero
Aportes 276
Preguntas 23
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.
Mi primera prueba de Función con VBA
Decidí crear una función para edad.
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.
Hecho!
.
Wow profe Ana, cuando le dio “=” en excel y le salió la función prueba cambió mi vida. Puedo hacer mis propias funciones!!!
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 👇
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
=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
Muy buena clase, dejo la tarea abajo
<
Public Function Cuadrado(X As Integer) As Integer
Cuadrado = (X * X)
End Function
>
Función que multiplica un # PorSiMismo
Public Function PorSiMismo(ingresaNumero As Integer) As Integer
PorSiMismo = ingresaNumero * ingresaNumero
End Function
Public Function numeroAlCuadrado(N As Integer) As Integer
numeroAlCuadrado = N * N
End Function
Muchas gracias, siento que debí aprender esto hace mucho tiempo
Funcion de multiplicacion de un numero sobre si mismo:
Public Function prueba(X As Integer) As Integer ''El nombre de la funcion se debe usar dentro de la funcion
prueba = X + 38 ''El nombre de la funcion se debe usar dentro de la funcion
End Function
Otra funcion de practica
Public Function multiplicar(Y As Integer)
multiplicar = Y * Y
End Function
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?