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

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
23 Hrs
32 Min
24 Seg

Crear una función

8/17
Recursos

Aportes 276

Preguntas 23

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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 👇

Hola, me sale error ' Se ha producido el error '13' en tiempo de ejecución : no coinciden los tipos , agradezco su ayuda
![](https://static.platzi.com/media/user_upload/image-831c9255-55b6-4881-b5bf-84ac4243c70d.jpg)
![](https://static.platzi.com/media/user_upload/image-23184711-ab09-4f85-9fcc-80161861a236.jpg)![](https://static.platzi.com/media/user_upload/image-27140374-3973-4f51-bfc2-5c648ae1603c.jpg)me sale error alguien me podria ayudar
![](https://static.platzi.com/media/user_upload/image-9a1bc1cd-447f-4f85-9656-aa5e4f19186e.jpg)
¡Lo logré! ![](https://static.platzi.com/media/user_upload/image-7640bfa6-042e-425b-ae19-e0e4013be602.jpg)![](https://static.platzi.com/media/user_upload/image-82663d59-81f7-4545-a25c-e01b9771a0e6.jpg)
![](https://static.platzi.com/media/user_upload/FUNCTION%20PRUEBA-c4d11f4f-ae66-43f0-abb9-9fc586dc72f3.jpg) Ya empezamos
Primera funcion en VBA ![](https://static.platzi.com/media/user_upload/image-acafa111-791b-49dd-ba26-921fddb355f3.jpg)![](https://static.platzi.com/media/user_upload/image-5f741e34-bdb6-41a2-bb43-f7100fb8bcc1.jpg)

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

  • Done 👍
Al momento de probar la formula que creé me lanzó un error, sobre que no estaban habilitadas ciertas funciones. No estoy segura si es la forma correcta pero modifique la ventana de Centro de confianza como se ve en la imagen y ya empezo a funcionar. ![](https://static.platzi.com/media/user_upload/image-ea1836fa-7fba-44a1-9ad0-2f810c3b893f.jpg) Si alguien tiene el mismo problema espero que les sirva.
Función para calcular el índice de masa corporal. ![](https://static.platzi.com/media/user_upload/image-03d0bbdb-0d8b-4f60-a43a-7a5b2dc003f3.jpg)
![](https://static.platzi.com/media/user_upload/image-aa227114-e8d3-4df1-ac31-334aeb3d3d4b.jpg)
*aquí realicé el ejercicio aplicando el valor del IVA en Chile con el ejercicio de multiplicación* ![](https://static.platzi.com/media/user_upload/image-00031233-b3a5-4d68-8e9c-54ed5291a5dd.jpg)
![](https://static.platzi.com/media/user_upload/image-fad32549-4117-4924-bc67-231909e8d222.jpg)
Nombrada en Honor a Cosmo : ![](https://static.platzi.com/media/user_upload/image-450e2a06-16b2-4894-9760-57d02730169b.jpg)
![](https://static.platzi.com/media/user_upload/image-c579d464-4fc1-424f-811a-e3e38e894308.jpg)
![](https://static.platzi.com/media/user_upload/imagen-e2e26388-0c3a-4047-9458-314128a2762e.jpg)Muy contenta con este aprendizaje..
Que genial ..!! ![](https://static.platzi.com/media/user_upload/imagen-3456bc19-41d6-480e-b3b9-969d5bd1c355.jpg)
![](https://static.platzi.com/media/user_upload/image-6b1aef10-ac5a-4abf-b73f-7358222630e2.jpg) Función multiplicar un número por si mismo
wow, ser capaz de crear tus propias funciones, eso si esta loquisimo
Por lo que puedo observar, hay muchas formas de llegar al resultado, ya sea x\*x o x^2, lo importante es llegar a la solución. ![](https://static.platzi.com/media/user_upload/image-7bad99c1-2388-4e76-93a6-b18d30f53f4a.jpg)
Realizada, ahora a crear mis propias formulas. :) ![](https://static.platzi.com/media/user_upload/image-95b90d64-da55-4626-9b47-d604ff8fc86b.jpg)
![](https://static.platzi.com/media/user_upload/image-e87fac79-981f-4bce-819d-e42a15fe41fd.jpg)
Este es el código ![](https://static.platzi.com/media/user_upload/imagen-0f2917a8-9123-4022-8eff-2a1e23427af0.jpg) y este es el resultado ![](https://static.platzi.com/media/user_upload/imagen-a4269a8b-bdd4-49ca-824e-e185f5a2d6f5.jpg)
lo hice asi suponiendo que es la funcion de area de un circulo, si alguien sabe una forma directa de poner exponente, agradezco. ![](https://static.platzi.com/media/user_upload/image-996e5571-4cdd-45fb-88ad-93b7234f8702.jpg)
![](https://static.platzi.com/media/user_upload/image-3419c349-7643-46c2-9aac-1b67d8eba1ea.jpg)![](https://static.platzi.com/media/user_upload/image-cbebf858-91b7-453c-af3d-83b509595eca.jpg)gracias por tanto Platzi :D
![](https://static.platzi.com/media/user_upload/image-828e0d4c-fffd-434e-83de-1ef140dfc689.jpg)![]()
![](https://static.platzi.com/media/user_upload/image-bce6c4ef-b65c-41ef-9cb1-f59121570c4e.jpg)![](https://static.platzi.com/media/user_upload/image-4488c5b0-cefa-4c60-92e3-2ed6b3a83c02.jpg)
mi parte: ![](https://static.platzi.com/media/user_upload/image-414e5425-21a8-46c1-a52e-1d72f2e9f508.jpg)
¿Por qué en la ventana de Inmediato, se coloca '?"? ¿Es solo para llamar a la función o tiene alguna otra función? y qué más puede hacer?
Function de multiplicar un numero por sí mismo ![](https://static.platzi.com/media/user_upload/image-66eccc2a-e919-4364-9b3d-d454c59eff71.jpg)
![](https://static.platzi.com/media/user_upload/Funcion%20con%20Macros-0f6c3382-2f99-40e9-a632-104a246f90e4.jpg)
realice el ejercicio y se puso en amarillo, porque? ![](https://static.platzi.com/media/user_upload/image-739b65a4-6274-42a6-96b4-0065ecef96d0.jpg)
![](https://static.platzi.com/media/user_upload/Ejercicio2_PruebaFunction1-e2674d2b-76a7-44b3-a5ce-7ec01a8cc167.jpg) ![](https://static.platzi.com/media/user_upload/Ejercicio2_PruebaFunction2-5ad58318-3ccc-4ecc-9458-bd18d758e96f.jpg)
![](https://static.platzi.com/media/user_upload/image-fae53700-5cd7-44cb-b52f-d01ab38e7b06.jpg)
![](https://static.platzi.com/media/user_upload/image-b06f233b-8a6f-403c-be98-92240d037729.jpg)Done
EJEMPLO MULTIPLICAR UN NUMERO ENTERO POR SÍ MISMO : EN VBA Public Function Multiplicar(x As Integer) As Integer Multiplicar = x \* x End Function
Logrado!![](https://static.platzi.com/media/user_upload/image-4ea8160f-cf7a-4407-b6bc-5640d9b2e847.jpg)
![](https://static.platzi.com/media/user_upload/image-fa96f241-6694-45c7-8c89-4079bd3d0a99.jpg)
![](https://static.platzi.com/media/user_upload/image-3e00ff0d-8a43-4297-9a1b-7abf3b3d84f2.jpg)
![](https://static.platzi.com/media/user_upload/image-2ab8e7b9-8e40-450d-8de2-abc1ca7ddca5.jpg) Genial, mi primera funcion con VBA
Here my homework ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-05-16%20182257-e6f9da4b-1d12-4f73-9f6b-cd113dc6f0d1.jpg)
Public Function MultiplicarPorSiMismo(x As Integer) As Integer MultiplicarPorSiMismo = x \* x End Function
Public Function loc(M As Integer) As Integer loc = M \* 5 End Function ?loc(5) 25
Public Function cuadrado(X As Double) As Double cuadrado = X \* X End Function
Entorno VBA función que multiplica X\*X ![](https://static.platzi.com/media/user_upload/funcion_producto-a0cfd334-a9cd-490e-a5da-054c911415eb.jpg)
Este es el código: `Public Function EsSiMismo(X As Integer) As Integer` ` EsSiMismo = X * X` `End Function`
Public Function cuadrado(x As Integer) As Integer cuadrado = x \* x End Function
Mi primera función, que emoción!![](https://static.platzi.com/media/user_upload/image-868b9486-8b49-4eca-8933-41a2ebbf2219.jpg)

Muy buena clase, dejo la tarea abajo

<
Public Function Cuadrado(X As Integer) As Integer
Cuadrado = (X * X)
End Function
> 
Lo intenté de ambas maneras y funcionó perfectamente. Excelente esta manera de crear funciones, especialmente para los que recordamos más cómo funcionan que el nombre en español o inglés: ![](https://static.platzi.com/media/user_upload/image-38158d4e-e6c2-455d-8238-6b7f569e1497.jpg) ![](https://static.platzi.com/media/user_upload/image-0a4f1333-6bc8-4dc9-912c-f623b31e5db9.jpg) ![](https://static.platzi.com/media/user_upload/image-f8d4655f-e93f-45e5-9903-9137d18c4bde.jpg)
Soy el sticker de picachu sorprendido en estos momentos
![](https://static.platzi.com/media/user_upload/image-ee1816cf-fc72-48e3-a0a9-0f68d655259d.jpg)
![](https://static.platzi.com/media/user_upload/image-db248c31-c9c5-4d49-92a3-38e281a9a869.jpg)mi función
![](https://static.platzi.com/media/user_upload/image-b592f276-cd9a-41e8-834b-e5accda7bf5f.jpg)
![](https://static.platzi.com/media/user_upload/image-cd98d902-e010-4789-bec0-cc00e8fce8b9.jpg)
Que genial!!! definitivamente lo usaré para crear funciones, será posible crear una funcion que llame a otras que ya estan en excel? seria interesante crear una que combine indice y coincidir, yo la llamaria incidir o coindice? jajaj.
So happy! ![](https://static.platzi.com/media/user_upload/image-367b4f4b-f29d-49f8-a11a-8dd2bdd9560d.jpg) ![](https://static.platzi.com/media/user_upload/image-2c344c7e-2a85-4d64-ac2d-aef34d8d7e46.jpg)
Public Function NporN(X As Integer) As Integer NporN = X \* X End Function
![](https://static.platzi.com/media/user_upload/image-913a4ef5-8c61-4ca4-8d64-2983f60be3ef.jpg)
![](https://static.platzi.com/media/user_upload/image-88e3d6cc-51c8-4ee1-a49b-305c7c275406.jpg)
Hasta el momento sólo he utilizado la herramienta de grabar macros, esta forma de crear funciones me emociona
asas
![](https://static.platzi.com/media/user_upload/image-9cfd8f22-177e-461a-a81d-f81edfd7f7e6.jpg)
Super interesante, no sabia que podia hacer estooo.. ![](https://static.platzi.com/media/user_upload/image-733fc5a7-1d15-45c3-8b0a-b7ddf147e993.jpg)
![](https://static.platzi.com/media/user_upload/image-ac5a27e5-e003-4d6d-9b47-d5d8bc5cb7ca.jpg) Comparto mis resultados

Función que multiplica un # PorSiMismo

    Public Function PorSiMismo(ingresaNumero As Integer) As Integer
    
        PorSiMismo = ingresaNumero * ingresaNumero
    
    End Function


![](https://static.platzi.com/media/user_upload/image-44ee19b0-1f11-4459-9e59-38fbce67e5aa.jpg)
```js Public Function tarea(X As Integer) As Integer tarea = X * X End Function ```
![](https://static.platzi.com/media/user_upload/prueba%20macros%20con%20funciones%20-6cf00c42-dbea-45ff-b51b-5cff632b5c99.jpg)

Public Function numeroAlCuadrado(N As Integer) As Integer
    
    numeroAlCuadrado = N * N
    
End Function

Hola a todos, alguien sabe porque al momento de escribir la funcion en excel no me aparece? dentro de visual basic si funciono de manera completa. Muchas gracias ![](https://static.platzi.com/media/user_upload/image-1b49a03c-deaa-498b-b27c-c1fe84ba629f.jpg)![](https://static.platzi.com/media/user_upload/image-ef12bc66-992c-4205-a196-aa7a5468c837.jpg)

Muchas gracias, siento que debí aprender esto hace mucho tiempo

![]()![]()![]()![]()![](https://static.platzi.com/media/user_upload/image-c0faf0f9-8292-4bdd-b0ef-1e502046ac89.jpg)

Funcion de multiplicacion de un numero sobre si mismo:

Ejercicio ![](https://static.platzi.com/media/user_upload/image-0566a5ae-577d-40b7-93c7-27af8f0191f7.jpg)
![](https://static.platzi.com/media/user_upload/image-25b0a481-4fc6-4ecc-8efc-2f3586003f53.jpg)
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