Excel - Necesito ayuda con una línea de código

 
Vista:
Imágen de perfil de Rafael
Val: 31
Ha disminuido su posición en 32 puestos en Excel (en relación al último mes)
Gráfica de Excel

Necesito ayuda con una línea de código

Publicado por Rafael (18 intervenciones) el 27/05/2019 17:15:56
Hola:

Estoy teniendo problemas con una sencilla línea de código.

Estoy escribiendo:
ActiveCell.FormulaR1C1 = "=SI(_InfoBasDescripcionProblema<>"";_InfoBasDescripcionProblema;"")"

Pero esto es lo que la macro coloca en la celda
=SI(_InfoBasProblemaSegunAgente<>";_InfoBasProblemaSegunAgente;")

Faltan unas comillas,

Intenté colocando
ActiveCell.FormulaR1C1 = "=SI(_InfoBasDescripcionProblema<>"""";_InfoBasDescripcionProblema;"""")"

Pero me sale un error que necesita depuración, "Se ha producido un error '1004', en tiempo de ejecución",

Lo más raro del caso es que todo funcionaba, sólo que llevé al archivo de Excel a otra computadora que sólo aceptaba las instrucciones en inglés, por elemplo, había que poner =IF(... en vez de =SI(..., y además colocaba mas comillas a las instrucciones, logré arreglar todo, ahora volví a la computadora anterior en la que debo colocar =SI(... en vez de =IF(..., a aquí es donde ahora no quiere funcionar


Rafael
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.151
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Necesito ayuda con una línea de código

Publicado por Antoni Masana (1459 intervenciones) el 27/05/2019 18:48:02
Por lo que deduzco de tu problema es que tienes una versión vieja de Excel, me aventuro a decir que podría ser la 2003 o la 2007 no estoy seguro.

En esta versión Microsoft consiguió algo que se puede enmarcar en la historia de la incompetencia y es que sus programas no fuesen compatibles con sigo mismos y no hablo de versiones anteriores si no de la misma versión.

Al escribir una formula en la celda se usan palabras del idioma en el que este el Excel, asi pues el IF que es un si condicional en castellano seria SI y en francés, italiano, alemán y portugués por poner solo algunos idiomas tendrán si palabra correspondiente.

Bien pues a los señores de Microsoft no se les ocurre otra cosa que guardar la formula en su idioma original en el que se ha escrito, en este caso castellano y que pasa cuando este libro se abre en un Excel en Ingles pues que en lugar de convertir =SI(... a =IF(... lo deja tal cual esta y esto da error.

Primero te cuento como funciona en la versión 2010 en adelante y después posibles soluciones.

- Cuando pones una función en una celda la escribes en el idioma en el que tengas el Excel. Si es castellano SI() , BUSCARV() , COINCIDIR(), IZQUIERDA() y excel se lo guarda de alguna forma que no me interesa pero si este libro lo abro en Ingles la formulas me las muestra en ingles IF() , VLOOKUP(), MATCH() , LEFT().

- En las macros se escriben las formulas en su equivalente en ingles y Excel mostrara en la celda el equivalente al idioma.

Ahora las soluciones

Una es cambiar la versión del Excel,

Para el problema de las comillas dentro de un texto que se delimita por comillas:

1
2
ActiveCell.FormulaR1C1 = "=SI(_InfoBasDescripcionProblema<>" & Chr(34) & Chr(34) &
                            ";_InfoBasDescripcionProblema;"  & Chr(34) & Chr(34) &  ")"

Se me ocurre una forma pero no se que funciones tienes para hacerlo.

La idea es simple pones la formula en castellano, lees el contenido de la celda y si da error pones la formula en ingles.

El código seria algo así

1
2
3
4
5
6
Sub Macro4()
    ActiveCell.FormulaR1C1 = "=SI(_InfoBasDescripcionProblema<>"""",_InfoBasDescripcionProblema,"""")"
    If ActiveCell.Text = "#¿NOMBRE?" Then
       ActiveCell.FormulaR1C1 = "=IF(_InfoBasDescripcionProblema<>"""",_InfoBasDescripcionProblema,"""")"
    End If
End Sub

No te aseguro que te funcione a la primera pero con algún pequeño cambio funcionara.

Saludos
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Rafael
Val: 31
Ha disminuido su posición en 32 puestos en Excel (en relación al último mes)
Gráfica de Excel

Necesito ayuda con una línea de código

Publicado por Rafael (18 intervenciones) el 27/05/2019 20:56:33
Gracias amigo

Mi versión es la 2013. Pero igual fucionó.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar