Problema en Macros con formulas locales

18/02/2004 - 12:17 por Peponcio | Informe spam
El problema que tengo no se si es por una mala configuración de mi excel
2002, os cuento.
Tengo creadas varias hojas, generadas desde Excel 97 con macros en las
cuales hay muchas lineas de codigo del estilo
...FormulaR1C1Local = "ü(1)", estas hojas se abren desde equipos que
tienen instalado Excel 97, ahora también quería abrirlas desde Excel 2002,
todo va bien hasta que intentas ejecutar las macros, al intentar ejecutar
para 2002, que da un error, el espera una formula local del tipo "=LC(1)",
con lo que da un error como que no le cuadra la formula,
A parte de convertir todas las formulas manualmente al tipo no local
traduciendo todas la formular una a una.
¿Hay otra solución más rápida?.

Un Saludo y gracias por leerme.


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/02/2004 - 09:10 | Informe spam
hola, Peponcio !

Mostrar la cita
1° [me parece que]... se trata de configuraciones =>regionales<= 'diferentes' [panel de control de windows... NO 'en' excel]
revisa la propiedad 'Application.International(xlUpperCaseRowLetter)'
=> 'devuelve' cual es la letra que 'usa' la aplicacion EN el sistema 'actual' para la notacion R1C1 < [p.e. 'L' -de Linea- ...o 'F' -de Fila- ...o 'R' -de Row-]
=> quizas sea una 'combinacion' de otras propiedades como (xlCountryCode) y/o (xlCountrySetting) <2° [aunque ya 'te diste cuenta']... es 'mejor' NO usar las formulas en su 'modalidad de locales' [bueno... eso digo yo] ;)
la razon... 'implican' que se conocen 'con certeza' las variantes en las configuraciones regionales [donde 'se usaran']
['pasando' por separadores de lista y demas 'costumbres' y/o 'convencionalismos']
3° si las cambias [de 'FC' a 'LC'] con seguridad fallaran [ahora cuando 'regresen'] en las otras pc's [al sistema 'origina']
4° si 'deberan permanecer'... seria 'coveniente' tener 'preparadas' dos [o mas 'alternativas' de] 'mezclas de regiones' :((

en resumen... [me parece y me temo que]... NO hay una solucion 'mas rapida' :(
aunque... puedo estar equivocado [no seria de extrañar] y alguien encuentre una solucion mas 'amigable' :))

saludos,
hector.
#2 Peponcio
20/02/2004 - 09:23 | Informe spam
"Héctor Miguel" dijo
news::

Mostrar la cita
Muchas gracias por tu respuesta, he intentado lo de
'Application.International(xlUpperCaseRowLetter)' y me devuelve la "L" y
mis códigos de pais son 34 y 34 como en el resto de ordenadores, solo
varía en las variables de Application.International la "L" y la "l" para
las minusculas, el resto son todas igual, en el sistema también he
comprobado y me pone Español (España), será cuestión de hacerse la idea y
convertirlas las formulas al Inglés.

El motivo de usar la configuración local es porque la grabadora de macros
me las generó así, ahora, desde el excel 2002 las crea R1C1 y no
R1C1Local.

Saludos.
#3 Héctor Miguel
20/02/2004 - 10:20 | Informe spam
hola, Peponcio !

Mostrar la cita
lo que me parece 'curioso' es que [al parecer]...
- en algunas 'acepta' .FormulaR1C1Local = "ü(1)"
- y en otras 'solicita' .FormulaR1C1Local = "=LC(1)" :((

si [todavia] tienes los ordenadores donde SI 'funciona' con 'FC' ...
- ¿que 'te dice' la propiedad 'xlUpperCaseRowLetter' ???
[solo por 'satisfacer' la curiosidad] ;) ...
'prueba' con un msgbox [como el siguiente] =>en donde SI<= y =>en donde NO<_______
Sub Configuracion_FLR()
With Application
MsgBox "Letra para Filas: " & .International(xlUpperCaseRowLetter) & vbCr & _
"Código de País: " & .International(xlCountryCode) & vbCr & _
"Código de Región: " & .International(xlCountrySetting)
End With
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨
¿comentas?
saluds,
hector.
#4 Peponcio
20/02/2004 - 16:42 | Informe spam
"Héctor Miguel" dijo
news::

Mostrar la cita
Ya lo hice en ambos ordenadores para los 45 valores xl* de
Application.International y me dio diferente solamente la 6 que es
xlUpperCaseRowLetter "L" para el nuevo y "F" para el viejo, la 8 que es
xlLowerCaseRowLetter con "l" para el nuevo y "f" para el viejo, el resto
todas igual incluida la 1 y la 2 que son las xlCountryCode y
xlCountrySetting que en ambos ordenadores devuelve 34.
Además si voy a Herramientas-opciones-General, en el nuevo en
configuración tengo para marcar "Estilo de referencia L1C1", mientras que
en el viejo esta "Estilo de referencia F1C1".
Me he mirado por encima el registro de windows para ver si había alguna
variable que la recoja en la instalación y este hay, pero o no lo he
visto (bueno tampoco es muy facil de encontrar en el registro algo como
eso).

Mostrar la cita
Creo que necesita el LC(1) cuando la formula es una direccion ( =LC(1) )
y acepta FC(1) cuando esta dentro de una formula ( =INT(FC(1)) ).


Un Saludo.
#5 Héctor Miguel
20/02/2004 - 20:48 | Informe spam
hola, Peponcio !

Mostrar la cita
=> seguire buscando una [posible] causa por algunos otros factores, y... te comentare ;)

Mostrar la cita
=> muy interesante el apunte que haces al respecto... es... para 'tenerse en cuenta' =>gracias por el 'tip'<= ;)

saludos,
hector.
Ads by Google
Search Busqueda sugerida