# Formulas en VB



## ivanhur (Mar 30, 2006)

Hola que tal, una pregunta muy basica y ovia si ustedes quieren.

Puedo crear formulas para una macro en codigo VB tal cual se crean en la hoja de calculo de excel?

Si no es asi, cual es la sintaxis para poder ingresar formulas en codigo VB para una macro?

Gracias.


----------



## Greg Truby (Mar 30, 2006)

Al menos que he malentendido, sí, se puede usar VBA para crear casi cualquier fórmula en una celda.  La manera más fácil es prender el _macro recorder_ y editar la celda y apagar el _macro recorder_ y ver lo que escribió Excel y editar tal.


----------



## ivanhur (Mar 30, 2006)

> Al menos que he malentendido, sí, se puede usar VBA para crear casi cualquier fórmula en una celda.  La manera más fácil es prender el _macro recorder_ y editar la celda y apagar el _macro recorder_ y ver lo que escribió Excel y editar tal.



Muchas Gracias Sr. por su ayuda y aportacion.

Me podria ayudar con el post que tengo sobre las formulas.

Gracias.


----------



## Greg Truby (Mar 30, 2006)

> ...Me podria ayudar con el post que tengo sobre las formulas....
> -Ivanhur


'toy tratando :wink: 
¿Ha usted probado usar la grabadora de macros?
¿Si sí, qué código generó?
¿Y qué es lo que desea hacer?


----------



## ivanhur (Mar 31, 2006)

> > ...Me podria ayudar con el post que tengo sobre las formulas....
> > -Ivanhur
> 
> 
> ...



Se agradece en demasia su ayuda amigo.   

Respecto a sus preguntas:

A y B.- Si, he intentado con la grabadora de macros, pero no hace lo que yo quiero.

C.- Lo que necesito es lo siguiente: Necesito contar cuantos registros tengo en una macro y copiar dos rangos de  formulas hacia abajo tantas veces como registros haya, dicha macro extrae informacion de otros archivos, como es una macro de cobranza los registros que se extraen de los otros archivos varian acorde al numero de facturas que se cobren cada mes.

 En mi macro tengo dos columnas que llamaremos "principales" que es la informacion base para hacer las busquedas en los otros archivos y extraer la informacion necesaria. Las columnas "principales" tienen una caracteristica, que no pueden ser ambas blancas (vacias) si es asi quiere decir que ya no hay mas registros y por lo tanto las formulas se copiarian mientras las columnas "principales" contengan datos.

Como yo pienso manejar mi codigo (salvo su mejor opinion) es definiendo tres rangos.

Sub ensayocopia ()

dim a ,b ,principal as range

a = range ( " A12:B12 " ).range ' primer rango de formulas a copiar.
b = range ( " E12:AI12 " ).range ' segundo rango de formulas a copiar.
principal = range ( " C12:D12 " ).range ' rango de columnas "principales"

while principal <> ""
range("a").selcet
  Selection.Copy
  ActiveCell.Offset(1, 0).Select
  Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

  principal = ActiveCell.Offset(1, 0).Select ' etc,etc,etc

 ' que sugieren para el resto del codigo?

Wend

End Sub

Espero haberme explicado correctamente para que me puedan auxiliar a mi y a muchos mas, ya que pienso es algo que a mucha gente le podria ser util y honestamente es algo que Excel deveria integrar como una funcion.

 Muy Agradecido.


----------

