Problema con macro

04/01/2005 - 20:11 por Ivan | Informe spam
Hola a todos y feliz 2005, tengo un prob en una serie de celdas quiero colocar
la siguiente formula ( por ejemplo en M10 seria ):

=SI(C10<>"",SI(G10<>"",SI(I10<>"",G10-I10,SI(H10<>"",SI(H10<$P$1,G10-I10,""),G10)),SI(H10<>"",SI(H10<$P$1,$D$7-I10,SI(I10<>"",-I10,"")),SI(I10<>"",-I10,""))),"")
He realizado la rutina para realizarlo y me trabaja, solo que al momento de
colocar el valor en la celda me marca un error, no si en que pueda estar mal,
lo intento hacer de la sig manera:
sa = "<>" & """" & """" para generar <>""
sb = """" & """" para generar ""
SAL = "=SI(C" & k & sa etc,
Worksheets("EDO_CTA").Cells(k, 16).Value = SAL aqui es donde me marca
el error

agradesco de antemano cualquier comentaerio o sugerencia

Preguntas similare

Leer las respuestas

#1 Heich
04/01/2005 - 20:17 | Informe spam
Hola Ivan
Si ya comprobaste que la cadena SAL contiene la formula sin errores,

en lugar de
Worksheets("EDO_CTA").Cells(k, 16).Value
usa Worksheets("EDO_CTA").Cells(k, 16).Formula

Saludos


Heich
-
cadena= _
"" : _
for a=0 to 9: cadena=replace(cadena,a,""): _
next a: ?cadena
-
Daria todo lo que se por saber la mitad de lo que ignoro.
-
NOTA: este mensaje se proporciona TAL CUAL.Sin ningun derecho o garantia
Guia de Netiquette:
http://www.geocities.com/heich_prog...uette.html

Siempre que tengo una duda, le pregunto primero a San Google
http://groups.google.com/groups?hl=...blic.es.vb
-

In news:,
Ivan typed:
: Hola a todos y feliz 2005, tengo un prob en una serie de celdas
: quiero colocar la siguiente formula ( por ejemplo en M10 seria ):
:
:
=SI(C10<>"",SI(G10<>"",SI(I10<>"",G10-I10,SI(H10<>"",SI(H10<$P$1,G10-I10,"")
,G10)),SI(H10<>"",SI(H10<$P$1,$D$7-I10,SI(I10<>"",-I10,"")),SI(I10<>"",-I10,
""))),"")
: He realizado la rutina para realizarlo y me trabaja, solo que al
: momento de colocar el valor en la celda me marca un error, no si en
: que pueda estar mal, lo intento hacer de la sig manera:
: sa = "<>" & """" & """" para generar <>""
: sb = """" & """" para generar ""
: SAL = "=SI(C" & k & sa etc,
: Worksheets("EDO_CTA").Cells(k, 16).Value = SAL aqui es donde
: me marca el error
:
: agradesco de antemano cualquier comentaerio o sugerencia
#2 KL
04/01/2005 - 20:33 | Informe spam
Hola chicos,

"Heich" wrote in message...
Mostrar la cita
Si la formula es correcta esto no tiene importancia - da igual usar .Value o
.Formula (aunque lo ultimo es mas correcto)

"Ivan" wrote in message...
Mostrar la cita
tambien podrias hacerlo asi:
sa = "<>"""""
sb = """"""

Mostrar la cita
para ver si la formula es correcta usa

MsgBox SAL

o pon el codigo entero para poder comprobarlo nosotros.

Saludos,
KL
#3 KL
04/01/2005 - 20:44 | Informe spam
Ivan,

Esto, por ejemplo, me funciona de maravilla (tengo la version inglesa por
eso IF en vez de SI):

Sub test()
sa = "<>"""""
sb = """"""
k = 100
SAL = "=IF(C" & k & sa & ",1," & sb & ")"

'MsgBox SAL
Range("A1").Value = SAL
End Sub

Saludos,
KL


"KL" wrote in message
news:%23iQ$
Mostrar la cita
#4 Heich
04/01/2005 - 20:57 | Informe spam
tienes razon KL!!!

no recordaba que en VBA algunas (o todas) funciones tienen que ser en Ingles
(como deberia, un solo idioma para programar, imaginemonos que pasa si en
lugar de español, programamos en Vba la funcion IF en aleman:

wenn a=1 damals
nachrichschatel "eins" 'Yuxtaposicion de Message y Box
sonst
nachrichschatel "nein eins"
finale wenn

If a=1 then
msgbox "Uno"
Else
Msgbox "no uno"
end if

Entonces la cadena debera de ser
="If... ... ...

Saludos :)


Heich
-
cadena= _
"" : _
for a=0 to 9: cadena=replace(cadena,a,""): _
next a: ?cadena
-
Daria todo lo que se por saber la mitad de lo que ignoro.
-
NOTA: este mensaje se proporciona TAL CUAL.Sin ningun derecho o garantia
Guia de Netiquette:
http://www.geocities.com/heich_prog...uette.html

Siempre que tengo una duda, le pregunto primero a San Google
http://groups.google.com/groups?hl=...blic.es.vb
-

In news:,
KL typed:
: Ivan,
:
: Esto, por ejemplo, me funciona de maravilla (tengo la version inglesa
: por eso IF en vez de SI):
:
: Sub test()
: sa = "<>"""""
: sb = """"""
: k = 100
: SAL = "=IF(C" & k & sa & ",1," & sb & ")"
:
: 'MsgBox SAL
: Range("A1").Value = SAL
: End Sub
:
: Saludos,
: KL
:
:
: "KL" wrote in message
: news:%23iQ$
:: Hola chicos,
::
:: "Heich" wrote in message...
::: en lugar de
::: Worksheets("EDO_CTA").Cells(k, 16).Value
::: usa Worksheets("EDO_CTA").Cells(k, 16).Formula
::
:: Si la formula es correcta esto no tiene importancia - da igual usar
:: .Value o .Formula (aunque lo ultimo es mas correcto)
::
:: "Ivan" wrote in message...
::: lo intento hacer de la sig manera:
::: sa = "<>" & """" & """" para generar <>""
::: sb = """" & """" para generar ""
::
:: tambien podrias hacerlo asi:
:: sa = "<>"""""
:: sb = """"""
::
::: SAL = "=SI(C" & k & sa etc,
::: Worksheets("EDO_CTA").Cells(k, 16).Value = SAL aqui es donde
::: me marca
::: el error
::
:: para ver si la formula es correcta usa
::
:: MsgBox SAL
::
:: o pon el codigo entero para poder comprobarlo nosotros.
::
:: Saludos,
:: KL
#5 Ivan
04/01/2005 - 21:21 | Informe spam
gracias a todos, ya puse el msgbox para SAL
y si me muestra la formula, el problema es cuando quiero copuiar esta formula
en la celda

Ivan
Ads by Google
Search Busqueda sugerida