Eliminar un apóstrofe al inicio de la fórmula VBA
geo0258
Mensajes publicados
24
Estado
Miembro
-
eriiic Mensajes publicados 24581 Fecha de registro Estado Colaborador Última intervención -
eriiic Mensajes publicados 24581 Fecha de registro Estado Colaborador Última intervención -
Hola, aquí está mi problema
En la celda Y4 tengo una fórmula =BUSCARH(X3;'Picklists Project'!1:4;4;FALSO)
Esta me regresará una cadena de texto que representa otra fórmula: aquí da:
'=si('1 - Project table'!B4="";"";SI(ESERROR(DATEVAL(TEXTO($X4;"jj/mm/aa")));"wrong";""))
Dependiendo de lo que elija como valor en X3 tendré diferentes fórmulas que aparecerán en Y4.
Luego selecciono mi celda Y4, copio y pego como valor en otra celda
Así que me encuentro con la fórmula anterior que tiene un apóstrofo al principio. Si lo elimino manualmente y presiono enter, mi fórmula ya no es una cadena de texto, se activa y funciona. Busco reproducir esta acción en VBA y no puedo. El objetivo es que, sin importar la fórmula que aparezca en Y4, pueda copiarla a otro lugar, asegurarme de que no se considere una cadena de texto y luego extenderla.
Aclaro que ya he logrado eliminar el apóstrofo con la función MID, pero la fórmula no se activa por sí sola.
Espero haber sido lo suficientemente claro en mi explicación.
Gracias de antemano por sus respuestas.
En la celda Y4 tengo una fórmula =BUSCARH(X3;'Picklists Project'!1:4;4;FALSO)
Esta me regresará una cadena de texto que representa otra fórmula: aquí da:
'=si('1 - Project table'!B4="";"";SI(ESERROR(DATEVAL(TEXTO($X4;"jj/mm/aa")));"wrong";""))
Dependiendo de lo que elija como valor en X3 tendré diferentes fórmulas que aparecerán en Y4.
Luego selecciono mi celda Y4, copio y pego como valor en otra celda
Así que me encuentro con la fórmula anterior que tiene un apóstrofo al principio. Si lo elimino manualmente y presiono enter, mi fórmula ya no es una cadena de texto, se activa y funciona. Busco reproducir esta acción en VBA y no puedo. El objetivo es que, sin importar la fórmula que aparezca en Y4, pueda copiarla a otro lugar, asegurarme de que no se considere una cadena de texto y luego extenderla.
Aclaro que ya he logrado eliminar el apóstrofo con la función MID, pero la fórmula no se activa por sí sola.
Espero haber sido lo suficientemente claro en mi explicación.
Gracias de antemano por sus respuestas.
2 respuestas
-
Hola,
tienes un error en la redacción de tu fórmula siempre que tu hoja se llame Project table
y no 1 - Project table,
reemplaza '1 - Project table'!B4 por 1 - 'Project table'!B4
lo que te dará=SI(1 -'Project table'!B4="";"";SI(ESERROR(FECHA.VAL(TEXTO($X4;"dd/mm/aa")));"incorrecto";""))
Saludos
Mike-31
Soy responsable de lo que digo, no de lo que entiendes...-
Hola Mike, gracias por tu respuesta. Sin embargo, mi tabla se llama bien 1 - Project table
Así que tu solución no funciona
Para que lo sepas, mi buscarV en la celda Y4 apuntará en la tabla Picklists Projects a esto: ="=si('1 - Project table'!B4="""";"""";SI(ESTERREUR(DATEVAL(TEXTE("&ADRESSE(4;EQUIV("Start_date";'1 - Project table'!3:3;0);3;1)&";""jj/mm/aa"")));"&""""&"wrong"&""""&";""""))"
Así que el resultado de mi buscarV muestra esto: =si('1 - Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Y luego (una pequeña corrección respecto a lo que escribí antes), cuando copio y pego el resultado de mi buscarV como valor, me añade una comilla delantera a mi fórmula, así: '=si('1 - Project table'!B4="";"";SI(ESTERREUR(DATEVAL(TEXTE($X4;"jj/mm/aa")));"wrong";""))
Y luego lo elimino manualmente, pulso enter y la fórmula funciona. Y de hecho, también voy a hacer una corrección sobre lo que dije antes. La comilla no aparece cuando simplemente miramos la celda, aparece cuando hacemos clic en la celda. Y entonces cuando utilizo la función mid para eliminarla, es mi = lo que se elimina primero. Pero la comilla sigue ahí cuando hago clic en la celda. Así que tengo más la impresión de que es una cuestión de formato, como si mi fórmula estuviera en formato texto o algo así.
-
-
Hola,
' fuerza el formato texto.
Se puede hacer en VBA, pero si es solo para que la fórmula sea legible, simplemente pon un espacio delante.
Luego, un reemplazar " =" por "=" en el rango activará las fórmulas.
eric
Edit : hay que hacerlo en tu rango de la búsqueda(). donde supongo que está presente.
Al intentar continuamente, se acaba logrando.
Por lo tanto, cuanto más falla, más posibilidades tenemos de que funcione. (los Shadoks)
Además de dar las gracias (¡sí, sí, eso se hace!), pensar en marcar como resuelto. Gracias-
Hola eriiic,
Gracias por tu respuesta, desafortunadamente tu solución no funciona.
He conseguido hacer que la apóstrofe no aparezca. Simplemente probé con otras columnas que no sean la columna Y y no tenía apóstrofe. Así que no sé por qué la columna Y forzaba el resultado a ser un campo de texto.
Sin embargo, incluso sin eso, mi fórmula aún no se activa. Si intento tu solución, eriiic, funciona, pero sin usar VBA. Y lo que quiero es que mis usuarios no tengan que hacer ninguna manipulación, solo presionar un botón. He grabado la macro que corresponde a reemplazar " =&" por "=" pero aún no funciona.
He intentado con FormulaR1C1 para activar la fórmula, pero no consigo hacerlo. Tal vez esté usando mal la función, es la primera vez que la utilizo. ¿Alguien sabe si hay alguna pista que explorar al respecto y la sintaxis que debería usar? ¿O quizás otra pista? -
-
-