No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Crear una funci贸n

8/17
Recursos

Aportes 243

Preguntas 22

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!
.

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).

Wow profe Ana, cuando le dio 鈥=鈥 en excel y le sali贸 la funci贸n prueba cambi贸 mi vida. Puedo hacer mis propias funciones!!!

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

'鈥楳sgBox Rango_Festivo.Address
鈥'Hoja2.Range(鈥淎:A鈥).NumberFormat = 鈥淕eneral鈥

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

  • Done 馃憤
隆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)
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
![](https://static.platzi.com/media/user_upload/image-f97561be-13ca-4745-9801-03a48cdcfbea.jpg)va queriendo![](https://static.platzi.com/media/user_upload/image-70e27fa9-1972-4504-b944-eb74810f8356.jpg)
![]()![](https://static.platzi.com/media/user_upload/image-fa383126-2d22-4e3d-be28-9ee2404f326e.jpg) ```js ``` ```js ```

Esta clase me parece muy interesante, si se manejan muy bien formulas me genero una funci贸n y aplico a la tabla o reporte seg煤n la necesidad.

Me encanct贸 :3 ![](https://static.platzi.com/media/user_upload/image-1590225a-29ec-4d0a-b7cb-4b202f354dd1.jpg)
Public Function n_square(N As Integer) As Integer
    n_square = N * N
End Function

Si no les funciona asegurense de estar creando el m贸dulo dentro de la Hoja de Calculo espec铆fica con la funci贸n dentro

genial鈥!!!

Buenas noches.

Adjunto lo solicitado por la profe.

Si alguien pudiera compartir p谩ginas donde pueda desarrollar proyectos, les agradecer铆a. Quiero practicar m谩s y m谩s lo aprendido.

Felicitar tambi茅n a la docente, ya que hubo una notable evoluci贸n entre este curso avanzado de macros y el intermedio en la pedagog铆a.

Muchas gracias!!

Public Function prueba2(x As Integer) As Integer

prueba2 = x * x

End Function

mi primera funci贸n

Tambi茅n cre茅 una funci贸n para financieros, donde sacas la variaci贸n porcentual entre el a帽o 1 y el a帽o 2.

Genial.

Public Function multiplo(y As Integer) As Integer
multiplo = y * y

End Function

Buen d铆a,

adjunto mi aporte.

Crear funciones personalizadas mediante el lenguaje VBA. Las funciones son bloques de c贸digo reutilizable que automatizan tareas espec铆ficas. Despu茅s de abrir el editor VBA, definir el nombre y los argumentos de la funci贸n, escribiremos el c贸digo y finalmente la probaremos. Estas funciones nos permiten ahorrar tiempo automatizando tareas complejas en nuestras hojas de c谩lculo de Excel.

Public Function prueba(x, y As Integer) As Integer

prueba = x + 38
prueba = prueba - y

End Function

[](

Reto cumplido!

Super Clase! Muy interesante! Tantas cosas que podemos crear con estas estructuras. Y lo mas util es que podemos utilizarlos en los archivos de Excel

Public Function MX(x As Integer) As Integer

    MX = x * x

End Function

Mi primera funcion con VBA

Esta es una de las ventajas que me parce que tiene excel, muy buena

Que maravilla!

Ejercicio Multiplicar un numero por si mismo

Hola, les dejo el ejercicio de multiplicar un n煤mero por si mismo en VBA

Public Function cuadrado(X As Integer) As Integer

    cuadrado = X * X

End Function

En Excel no me funciona la funci贸n, 驴alguien sabe por que? 馃槮

  • Me pone: Error de nombre no v谩lido
    .
    .

馃槂 Ya vi por qu茅:

  • Lo estaba guardando en otro lugar, debe estar dentro de xlsm
    .
    .