Novata en Macros!!!

24/08/2006 - 22:53 por vayta | Informe spam
Hola:

Necesito ayuda por favor!!!!!!!!!! Alguno de ustedes sería tan amable
de decirme como puedo meter fórmulas de Excel en Visual Basic?????

Resulta que necesito las fórmulas de BUSCARV, SUMA.SI, SI. y
algunas otras . pero no se como ponerlas en Visual !!!!!

De antemano.. les agradezco su atención.
 

Leer las respuestas

#1 Héctor Miguel
26/08/2006 - 02:39 | Informe spam
hola, Valery !

1. ... grabadora de macros... resultado: ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],cliente,11)"
la duda... es porque pone RC(-1)?????? no se que significa eso.
2. ... Range("c6").Formula = "=vlookup(b6,cliente,11,0)" y funciono perfectamente...
3. ... Range("c5").FormulaLocal = "=buscarv(b5;cliente;11;0)"
y... marco un error: "Error definido por la aplicacion o el objeto"
asi es que esta macro no funciono o a la mejor meti mal un dato [...]
... en las opciones que marque como 1 y 2... a la hora de que cambio mi valor de la columna "c"...
pareciera.. como si la macro corriera automaticamente solo tengo que capturar otro numero y me da el resultado de inmediato...
Cosa que no sucede con la opción 4 y 5... aqui debo cambiar mi valor de la columna "c" e irme a VBA o bien con un fabuloso boton...
y es asi como me da el resultado o sea... en resumen no me da el resultado automaticamente.



1) la grabadora de macros, las referencias a rangos [por omision] las hace usando un estilo de notacion de R1C1/L1C1/F1C1/...
supongo que al ser el estilo que utilizan propiedades de referencia a rangos de algunos objetos 'especiales' [tablas dinamicas, graficos]
vba se 'prepara' para no tener que andar haciendo conversiones posteriores, y es la razon por la que utiliza .FormulaR1C1 -?-

2) la instruccion RC[-1] significa que la referencia es a la celda que se encuentra una columna MENOS en la misma fila que 'ActiveCell'
es parte del estilo de notacion y referencias R1C1/L1C1/F1C1/... [segun el idioma del excel] ;)

3) la falla que obtienes con la numero 3: -> Range("c5").FormulaLocal = "=buscarv(b5;cliente;11;0)"
probablemente es por el 'separador de argumentos LOCAL' [coma ?... punto y coma ?... otro ?] -???-
[revisa los comentarios en el inciso b del punto a en la propuesta anterior] :))

si cualquier duda... comentas ?
saludos,
hector.

Preguntas similares