none
VBA, funcion Excel de varias entradas RRS feed

  • Pregunta

  • Saludos Expertos

    en la web oficial de microsoft office excel 2007 explican como crear una funcion para emplearla en cualquier celda de la hoja q se esta programando, pero el ejemplo es de una sola entrada, ya lo probe y me funciona perfectamente, mas quisiera saber como creo una de varias entradas, este es el ejemplo para una sola entrada:

    en la hoja de desarrollar macro para excel, se escribe esto:

    function comision(minum)
          comision = minum*0,06
    end function


    Luego vamos a "archivo" y e la ventana desplegable "cerrar y volver a excel"

    Ahora bien, lo q yo quiero es algo como esto:

    function calculo(entrada1,entrada2,...,entradan)

          calculo = una funcion qu dependa de las "n" entradas

    end function


    este mismo ultimo formato lo probe con calculo= entrada1*math.sqr(entrada2) y tambien con una suma de 4 terminos, al momento d utilizarlas como funcion de excel me arroja "funcion invalida"

    Algua idea de como creo mi function de varias entradas para excel con VBA???

    viernes, 24 de abril de 2009 15:13

Todas las respuestas

  • No creo q mi pregunta sea tan dificil de responder, no se mucho de esto pero con algo de ayuda me las arreglo, por favor, espero esa ayuda, se los agradezco...

    viernes, 24 de abril de 2009 17:18
  • Hola,

    No se si te entendi, pero bueno, yo lo hice de la siguiente forma:

    En la pestaña programador, seleccione visual basic, luego en el editor de visual basic, fui al menu insertar y inserte un modulo, en el modulo escribi la siguiente función:

    Function PruebaSuma(Valor1 As Integer, Valor2 As Integer) As Integer
    PruebaSuma = Valor1 + Valor2
    End Function

    Luego me devolvi a la hoja de calculo y en una celda escribi =pruebasuma(1;2).

    Espero que esto te sirva de algo.
    viernes, 24 de abril de 2009 17:24
  • Gracias CesVer, pero ahora el problema es otro, estas funciones q se pueden crear con VBA no me dan decimales, he intentado con todos los tipos de datos disponibles, y aunq algunos dan decimales no me dan el 0 cosa q bien podria necesitar para la funcion q necesito crear, he utilizado:
    integer
    long
    string
    ...
    y todos en realidad, de paso veo q VBA no tiene tipo de dato "decimal" q si posee VB, entonces menos q menos... puedesdarme alguna idea?

    en resumidas cuentas necesito q el tipo de datos sea de rango tal q me permita devolver cero (0), decimales, y numeros altos...

    Agradezco tu ayuda!
    domingo, 26 de abril de 2009 12:33
  • Hola!

     

    No se mucho de esto, pero la variable integer significa numeros enteros, si lo que quieres son decimales, deberias usar double en lugar de integer

    jueves, 5 de mayo de 2011 17:26