"Comillas" en VBA(?)

28/06/2007 - 18:50 por Albymar | Informe spam
Hola a todos:
Quisiera colocar una formula en una celda, por medio de VBA.
la formula es la siguiente
=SI(PV=0;0;((PV/(1,16+IM))-TK)*(1-SUMA(INDIRECTO("Datos!"&DIRECCION(COINCIDIR(Modelo;Modelos;0)+1;2)):INDIRECTO("Datos!"&DIRECCION(COINCIDIR(Modelo;Modelos;0)+1;4)))))

con la certeza, ya comprobada, que los usuarios, del modelo, la pueden
borrar, he decidido aplicar la formula a la celda en cuestion mediante VBA
quedando:
[K7] =
"=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-SUM(INDIRECT("Datos!"&ADDRESS(MATCH(Modelo,Modelos,0)+1,2)):INDIRECT("Datos!"&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"

Pero el PROBLEMA es que soy novato y las comillas internas ...
INDIRECT("Datos!"&ADDRESS... no las reconoce y como esto es nuevo para mi
... solicito la ayuda de alguien para darme una solución.

GRACIAS de antemano a todos

Preguntas similare

Leer las respuestas

#1 Abraham
28/06/2007 - 19:06 | Informe spam
Antes que nada un aobservacion, en tu formula usas "punto y coma" como
separadores de lista, y "coma" como separador decimal, pero en la
misma formula quue quieres introducior mediante VBA, usa "comas" como
separador de lista y "punto" para decimales.

En VBA seria asi:

"=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-
SUM(INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,
0)+1,2)):INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"

OJO: Yo uso comas para separar lista, y puntos para decimales. Tu
reemplaza por los que usas tu, que ya no se cuales son por la
observacion que te coloco

Abraham
Respuesta Responder a este mensaje
#2 Albymar
28/06/2007 - 19:42 | Informe spam
Gracias Abraham, tu solución me funciona,

Con respecto a tu observacion, en el trabajo de hojas uso "punto y coma" como
separadores de lista, y "coma" como separador decimal, pero al introducirla
por VBA utilizo las funciones en ingles y, por lo tanto los separadores
correspondientes (punto y coma)... y así me funciona, no se si habrá otro
método...

de todas formas me reitero en darte las GRACIAS por tu ayuda.


"Abraham" escribió:

Antes que nada un aobservacion, en tu formula usas "punto y coma" como
separadores de lista, y "coma" como separador decimal, pero en la
misma formula quue quieres introducior mediante VBA, usa "comas" como
separador de lista y "punto" para decimales.

En VBA seria asi:

"=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-
SUM(INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,
0)+1,2)):INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"

OJO: Yo uso comas para separar lista, y puntos para decimales. Tu
reemplaza por los que usas tu, que ya no se cuales son por la
observacion que te coloco

Abraham


Respuesta Responder a este mensaje
#3 j.benito
28/06/2007 - 19:54 | Informe spam
Hola Albymar

Yo no soy nada experto en esto, por eso cuando tengo un problema de ese
tipo lo que hago es grabar una macro con lo que quiero y después ver
como escribe excel la fórmula.
En este caso, copiando "la fórmula" que has mandado me ha escrito esto

"=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-SUM(INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,0)+1,2)):INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"

como ves, todo igual excepto que en datos pone DOS comillas seguidas ""
antes y después.

Espero que te sirva
J.Benito


Albymar escribió:
Hola a todos:
Quisiera colocar una formula en una celda, por medio de VBA.
la formula es la siguiente:
=SI(PV=0;0;((PV/(1,16+IM))-TK)*(1-SUMA(INDIRECTO("Datos!"&DIRECCION(COINCIDIR(Modelo;Modelos;0)+1;2)):INDIRECTO("Datos!"&DIRECCION(COINCIDIR(Modelo;Modelos;0)+1;4)))))

con la certeza, ya comprobada, que los usuarios, del modelo, la pueden
borrar, he decidido aplicar la formula a la celda en cuestion mediante VBA
quedando:
[K7] =
"=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-SUM(INDIRECT("Datos!"&ADDRESS(MATCH(Modelo,Modelos,0)+1,2)):INDIRECT("Datos!"&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"

Pero el PROBLEMA es que soy novato y las comillas internas ...
INDIRECT("Datos!"&ADDRESS... no las reconoce y como esto es nuevo para mi
... solicito la ayuda de alguien para darme una solución.

GRACIAS de antemano a todos

Respuesta Responder a este mensaje
#4 Albymar
29/06/2007 - 09:28 | Informe spam
Gracias j.benito por tu interes...

Es lo que intente al principio, pero por mas que quiero, no se como grabar
una formula con una macro para despues ver como queda (ya he comentado que
soy muy, muy novato en esto) y ...
como dice alguien por este foro, me alimento del conocimiento de otros.
Saludos


"j.benito" escribió:

Hola Albymar

Yo no soy nada experto en esto, por eso cuando tengo un problema de ese
tipo lo que hago es grabar una macro con lo que quiero y después ver
como escribe excel la fórmula.
En este caso, copiando "la fórmula" que has mandado me ha escrito esto

"=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-SUM(INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,0)+1,2)):INDIRECT(""Datos!""&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"

como ves, todo igual excepto que en datos pone DOS comillas seguidas ""
antes y después.

Espero que te sirva
J.Benito


Albymar escribió:
> Hola a todos:
> Quisiera colocar una formula en una celda, por medio de VBA.
> la formula es la siguiente:
> =SI(PV=0;0;((PV/(1,16+IM))-TK)*(1-SUMA(INDIRECTO("Datos!"&DIRECCION(COINCIDIR(Modelo;Modelos;0)+1;2)):INDIRECTO("Datos!"&DIRECCION(COINCIDIR(Modelo;Modelos;0)+1;4)))))
>
> con la certeza, ya comprobada, que los usuarios, del modelo, la pueden
> borrar, he decidido aplicar la formula a la celda en cuestion mediante VBA
> quedando:
> [K7] =
> "=IF(PV=0,0,((PV/(1.16+IM))-TK)*(1-SUM(INDIRECT("Datos!"&ADDRESS(MATCH(Modelo,Modelos,0)+1,2)):INDIRECT("Datos!"&ADDRESS(MATCH(Modelo,Modelos,0)+1,4)))))"
>
> Pero el PROBLEMA es que soy novato y las comillas internas ...
> INDIRECT("Datos!"&ADDRESS... no las reconoce y como esto es nuevo para mi
> ... solicito la ayuda de alguien para darme una solución.
>
> GRACIAS de antemano a todos
>

Respuesta Responder a este mensaje
#5 j.benito
29/06/2007 - 17:42 | Informe spam
Hola Albymar.

Para grabar una fórmula con una macro solo tienes que:

1º. Vas a Herramientas -> Macro -> Grabar nueva macro
2º. Le das nombre a la macro y pones algo que la identifique o, si solo
es para ver lo que hace Excel, das al botón de aceptar
3º. Pones en la celda que quieras la fórmula de que se trata
4º. Cuando hayas acabado vas a Herramientas -> Macro -> Detener grabación
5º. En la pestaña de la hoja, con el botón derecho del mouse escoges
"Ver código" o bien pulsa Alt + F11
6º. Lees en el módulo del libro en que estés trabajando lo que se ha
grabado.

Cualquier otra duda, pregunta

Saludos
J. Benito

Albymar escribió:
Gracias j.benito por tu interes...

Es lo que intente al principio, pero por mas que quiero, no se como grabar
una formula con una macro para despues ver como queda (ya he comentado que
soy muy, muy novato en esto) y ...
como dice alguien por este foro, me alimento del conocimiento de otros.
Saludos


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida