Cómo detectar el idioma de Excel para utilizar macros que insertan fórmulas a la planilla.

Nuevamente pido su amable ayuda.

Tengo una macro que inserta una fórmula en una celda dentro de una hoja de excel 365 en español.

Pero al correr la macro en una versión en inglés me inserta la fórmula en español y así arroja un error de nombre en la casilla.

Existe alguna manera de que al correr la macro está detecte el idioma de uso de la versión de Excel y dependiendo del resultado inserte la fórmula en el idioma que corresponda?

Atento a sus respuestas.

Saludos!

JM

 Range("N19").Select
 Selection.Locked = True
 Range("N19").FormulaLocal = "=SI(ESBLANCO(N$14);0;$D$19)"
´debe elegir ""=IF(ISBLANK(N$14);0;$D$19)"" si el idioma es ingles
Respuesta
1

Yo tuve el mismo problema hace un tiempo, te recomiendo que use solo .fórmula y no .formulalocal la diferencia de estos 2 como ya te habrás dado cuenta son los errores en la fórmula local al usar solo fórmula colocas en la macro en el idioma ingles tal y como se usa en excel al insertarse en las celdas veras que solo hace la traducción y no importa el idioma local excel hace la convergencia del idioma sin problemas.

2 respuestas más de otros expertos

Respuesta
2

[Hola

No es lo ideal usar "FormulaLocal", dale una leída a este artículo al respecto:

https://abrahamexcel.blogspot.com/2018/11/insertar-formulas-con-macros.html

Saludos]

Abraham Valencia

Respuesta
2

Cambia esto en tu macro, solo cambia las comas en el 0 por ; el address le idica a la macro si la fórmula tienen candado ($a$1) o no (A1), para el primero caso se escribe .address(1,1)

Sub formula()
 With Range("n19")
    .Locked = True
    .formula = "=if(isblank(" & Range("n14").Address & ")" & ",0," & Range("d19").Address & ")"
 End With
 End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas