Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como pasar una funcion excel a VBA

Estas en el tema de Como pasar una funcion excel a VBA en el foro de Visual Basic clásico en Foros del Web. Actualmente ejecuto muchas funciones de excel para lograr mi cometido pero he llegado a un punto en que debo ir actualizando ciertas necesidades y decidí ...
  #1 (permalink)  
Antiguo 09/10/2009, 11:19
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 6 meses
Puntos: 1
Como pasar una funcion excel a VBA

Actualmente ejecuto muchas funciones de excel para lograr mi cometido pero he llegado a un punto en que debo ir actualizando ciertas necesidades y decidí comenzar a programarlas pero me encuentro con el gran problema que cuando grabo una Función de Excel (supongan BUSCAR) y pego el código de esa Macro guardada en un Proyecto nuevo, falla.

Por lo gral., suelo necesitar guardar en una variable el resultado de una función.

Les doy un ejemplo: Supongan la funcion ENCONTRAR cuyos código grabado a través del grabador de macros, es el sgte.:
Código PHP:
Sub Macro1()
'
Macro1 Macro
' Macro grabada el 09/10/2009 por Osiris
'


    
ActiveCell.FormulaR1C1 "=FIND(""d"",RC[-1],2)"
End Sub 
Yo necesito dejar en una variable el resultado de ese "FIND" pero me falla.

cómo se hace? Gs.
__________________
When all else is lost the future still remains.
  #2 (permalink)  
Antiguo 09/10/2009, 14:25
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Como pasar una funcion excel a VBA

Mira, cuando trabajas en Macros excel te guarda las formulas como
FormulaR1C1 (esto significa que es una formula que hace REFERENCIA a una fila y columa. R= Row y C = column)

De la misma forma cuando pone los rangos en una formula, por ej "=FIND(""d"",RC[-1],2)" . ahi te dice que hae referencia (con RC[-1] a una fila y columna determinada)

Bien, mas alla de ello y llendo a lo que necesitas. Para guardar el resultado de una formula en una variable, el codigo seria asi:

Código:
Sub encontrar()
Dim Variable As Byte
    'parametros de Find(valor que buscas, celda sobre la que buscas, posicion desde
    'la que buscas
    Variable = Application.WorksheetFunction.Find("e", Cells(1, 1), 1)

End Sub
Existen muchas mas funciones que podes encontrar dentro del objeto WorksheetFunction

Espero te sirva, saludos
  #3 (permalink)  
Antiguo 09/10/2009, 16:32
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Como pasar una funcion excel a VBA

EX CE LEN TE !!!!!!!! Muchísimas gracias!!!

O sea que para no perder tiempo cuando me ponga a grabar una macro sobre una funcion predeterminada de excel me conviene leer sobre el objeto Workshettfuncition. Verdad?

Tenés alguna página que me recomiendes con ejemplos?

Gs de nuevo.
__________________
When all else is lost the future still remains.
  #4 (permalink)  
Antiguo 13/10/2009, 07:08
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Como pasar una funcion excel a VBA

Si tal cual.
Muchas veces la grabadora de macros e ayuda, pero otras no. O es mejor leer la ayuda de vba que esta buena y es clara
Con respecto a sitios, no uso ninguno en particular. Pero busca foros de excel y los que te aparecen en los buscadores, son la mayoria claros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:05.