Reemplazar en Excel

29/06/2005 - 19:25 por mbergaretxe | Informe spam
Hola grupo


He hecho una macro que reemplaza el texto de una fórmula por otro
texto. La macro no funciona en muchas de las celdas (en otras similares o
iguales si), pero al intentar realizar el mismo proceso desde el menú de
excel, me sucede lo mismo!!!, me dice que la hoja está protegida o que no
hay coincidencias (ambos casos son inciertos).



El reemplazo que realizo es el tipo Buscar: “LLAMAR(G2;” y
Reemplazar por: “NombreMacro1(G2;”.

He probado también con Buscar: “CALL(G2,” y Reemplazar por:
“NombreMacro1(G2,” con igual resultado.



Mirar a ver si me podeis echar un cable. Mil gracias de antemano.



Un saludo:


Mikel

Preguntas similare

Leer las respuestas

#1 peace
29/06/2005 - 19:33 | Informe spam
Hazle caso a Excel.
Descartado que no este protegida (prueba a modificar el cotnenido de la
celda a mano) tal vez textos 'visualmente' iguales, pero diferentes
(espacios en blanco, caracteres no imprimibles)


"Mikel" escribió en el mensaje
news:%
Hola grupo


He hecho una macro que reemplaza el texto de una fórmula por otro
texto. La macro no funciona en muchas de las celdas (en otras similares o
iguales si), pero al intentar realizar el mismo proceso desde el menú de
excel, me sucede lo mismo!!!, me dice que la hoja está protegida o que no
hay coincidencias (ambos casos son inciertos).



El reemplazo que realizo es el tipo Buscar: “LLAMAR(G2;” y
Reemplazar por: “NombreMacro1(G2;”.

He probado también con Buscar: “CALL(G2,” y Reemplazar por:
“NombreMacro1(G2,” con igual resultado.



Mirar a ver si me podeis echar un cable. Mil gracias de antemano.



Un saludo:


Mikel



Respuesta Responder a este mensaje
#2 KL
29/06/2005 - 20:13 | Informe spam
Hola Mikel,

Por curiosidad - ?cual es el problema de exponer el macro que falla?

De todas formas decirte que a mi los siguientes procedimientos funcionan de
maravilla:

1) En ingles si usas la propiedad Formula:

Sub test()
For Each celda In ActiveSheet.Range("A1:A6")
celda.Formula = _
Replace(Trim(celda.Formula), "CALL(C$2", "MiMacro(C$2")
Next celda
End Sub

2) En castellano si usas la propiedad FormulaLocal:

Sub test2()
For Each celda In ActiveSheet.Range("A1:A6")
celda.FormulaLocal = _
Replace(Trim(celda.FormulaLocal), "LLAMAR(C$2", "MiMacro(C$2")
Next celda
End Sub


Saludos,
KL


"Mikel" wrote in message
news:%
Hola grupo


He hecho una macro que reemplaza el texto de una fórmula por otro
texto. La macro no funciona en muchas de las celdas (en otras similares o
iguales si), pero al intentar realizar el mismo proceso desde el menú de
excel, me sucede lo mismo!!!, me dice que la hoja está protegida o que no
hay coincidencias (ambos casos son inciertos).



El reemplazo que realizo es el tipo Buscar: “LLAMAR(G2;” y
Reemplazar por: “NombreMacro1(G2;”.

He probado también con Buscar: “CALL(G2,” y Reemplazar por:
“NombreMacro1(G2,” con igual resultado.



Mirar a ver si me podeis echar un cable. Mil gracias de antemano.



Un saludo:


Mikel



Respuesta Responder a este mensaje
#3 Héctor Miguel
30/06/2005 - 05:43 | Informe spam
hola, Mikel !

... macro que reemplaza el texto de una formula por otro... no funciona en muchas de las celdas
... al intentar realizar el mismo proceso desde el menu de excel, me sucede lo mismo!!!
... dice que la hoja esta protegida o que no hay coincidencias (ambos casos son inciertos)
El reemplazo que realizo es el tipo Buscar: “LLAMAR(G2;” y Reemplazar por: “NombreMacro1(G2;”
He probado tambien con Buscar: “CALL(G2,” y Reemplazar por: “NombreMacro1(G2,” con igual resultado [...]



[hasta donde se] 'CALL' y/o 'LLAMAR'... son macro-funciones de excel4/XLM, mismas que... [generalmente]...
SOLO son 'utilizables' en hojas de macro [o 'macrosheets'] y... [al menos hasta donde recuerdo]...
NO SE PUEDEN USAR como funciones 'normales' en formulas 'aplicadas' en celdas de hojas de calculo -?-

[por casualidad]... es 'esta' la situacion [o algo parecido a ella]... lo que estas tratando de 'corregir' ?
o... comentas datos adicionales ?

saludos,
hector.
Respuesta Responder a este mensaje
#4 KL
30/06/2005 - 10:31 | Informe spam
Hola HM,

"Héctor Miguel" wrote
[hasta donde se] 'CALL' y/o 'LLAMAR'... son macro-funciones de excel4/XLM,
mismas que... [generalmente]...
SOLO son 'utilizables' en hojas de macro [o 'macrosheets'] y... [al menos
hasta donde recuerdo]...
NO SE PUEDEN USAR como funciones 'normales' en formulas 'aplicadas' en
celdas de hojas de calculo -?-



En mi XL2000 si existe la funcion CALL para la hoja de calculo. Esto es un
extracto de la Ayuda de Excel:

"Calls a procedure in a dynamic link library or code resource. There are two
syntax forms of this function. Use syntax 1 only with a previously
registered code resource, which uses arguments from the REGISTER function.
Use syntax 2a or 2b to simultaneously register and call a code resource."

La ayuda explica su uso en la hoja de calculo (yo nunca la he probado) - hay
varios ejemplos.

Saludos,
KL
Respuesta Responder a este mensaje
#5 mbergaretxe
30/06/2005 - 10:48 | Informe spam
Hola a todos, en especial a ti KL que me has ayudado mucho.
Tengo miles de hojas de excel en el que tengo fóemulas con la formaula
"LLAMAR" que he desestimado (no funciona en Excel 2000 ni XP) y he creado
macros que realizan las mismas funciones que las llamadas a la DLL antigüa.
Voy a probar la parte del código que me has incluido (yo hago algo
similar), a ver si tengo más suerte. La verdad es que desconcierta que
Excel no realice un reemplazo que le ordenas sin dar error alguno además
(error casi invisible).
Gracias. Mikel

KL wrote:

Hola Mikel,

Por curiosidad - ?cual es el problema de exponer el macro que falla?

De todas formas decirte que a mi los siguientes procedimientos funcionan de
maravilla:

1) En ingles si usas la propiedad Formula:

Sub test()
For Each celda In ActiveSheet.Range("A1:A6")
celda.Formula = _
Replace(Trim(celda.Formula), "CALL(C$2", "MiMacro(C$2")
Next celda
End Sub

2) En castellano si usas la propiedad FormulaLocal:

Sub test2()
For Each celda In ActiveSheet.Range("A1:A6")
celda.FormulaLocal = _
Replace(Trim(celda.FormulaLocal), "LLAMAR(C$2", "MiMacro(C$2")
Next celda
End Sub


Saludos,
KL


"Mikel" wrote in message
news:%
> Hola grupo
>
>
> He hecho una macro que reemplaza el texto de una fórmula por otro
> texto. La macro no funciona en muchas de las celdas (en otras similares o
> iguales si), pero al intentar realizar el mismo proceso desde el menú de
> excel, me sucede lo mismo!!!, me dice que la hoja está protegida o que no
> hay coincidencias (ambos casos son inciertos).
>
>
>
> El reemplazo que realizo es el tipo Buscar: “LLAMAR(G2;” y
> Reemplazar por: “NombreMacro1(G2;”.
>
> He probado también con Buscar: “CALL(G2,” y Reemplazar por:
> “NombreMacro1(G2,” con igual resultado.
>
>
>
> Mirar a ver si me podeis echar un cable. Mil gracias de antemano.
>
>
>
> Un saludo:
>
>
> Mikel
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida