Excel - Leer como texto formula en celda

   
Vista:

Leer como texto formula en celda

Publicado por Richard (43 intervenciones) el 21/12/2010 11:56:43
Cordial saludo.

Será posible leer una fórmula que está en la celda A1 =+'ajustar 4'!$H$1488 de tal manera que pueda encribir en la celda B1 como texto: "$H$1488 " ??
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

RE:Leer como texto formula en celda

Publicado por Luis Fernando Giraldo (805 intervenciones) el 21/12/2010 14:17:30
Para ver las fórmulas en su contenido no como su resultado, creo que es lo que requieres "ver como texto", puedes hacerlo por:

Pestaña formulas / auditoria de formulas / mostrar fórmulas.
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

RE:Leer como texto formula en celda

Publicado por Richard (43 intervenciones) el 21/12/2010 22:33:12
Gracias Luis Fernando por responder.
Para ver la formula solo basta con pararme en la celda. Lo que necesito es extraer una parte del texto de esa fórmula y escribirla en otra celda.

Manualmente, es decir una por una, se puede de la siguiente manera:
Señalo la celda, dobleclic en la barra de formula, selecciono la parte del texto en la formula que necesito, copio, y finalmente pego en la celda definida.

Esta forma arriba enunciada, no es útil, por que se trata de varios miles de celdas por un lado, y lo que se quiere es que se realice automáticamente, ya sea por medio de una fórmula o una macro. Pero hasta ahora no he encontrado la solución. Será que no la hay?

Nuevamente gracias por tu ayuda.
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

RE:Leer como texto formula en celda

Publicado por Luis Fernando Giraldo (805 intervenciones) el 22/12/2010 04:00:15
Richard sería conveniente entender para que necesita copiar "textos" de las formulas que esten en una celda, creo que sería mejor saber cual es la fórmulación que requiere copiar a otras miles de celdas para que pensando como al copiarla a ellas aun trabajen u operen como se espera.

Hay un tema llamado referencias absolutas y relativas que ayuda en ello.
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

RE:Leer como texto formula en celda

Publicado por jcs (494 intervenciones) el 22/12/2010 09:18:16
Muy buenas,

No se me ocurre como hacer con funciones. Con macro podría ser una cosa así:

Sub cadena()
fila = Range("A1").End(xlDown).Row
For i = 1 To fila
var1 = Cells(i, 1).FormulaLocal
var2 = InStr(1, var1, "!")
Cells(i, 2) = Mid(var1, var2 + 1, Len(var1) - var2)
Next
End Sub

Para que funcione, la fórmula tiene que tener siempre la misma estructura, esto es, que la cadena que quieres obtener esté al final de la fórmula, justo después del carácter "!"

Espero que te sirva.

Un saludo. Juanjo.
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
Imágen de perfil de JuanC

RE:Leer como texto formula en celda

Publicado por JuanC (1053 intervenciones) el 22/12/2010 11:09:24
rizando el rizo...

Function ExtraerRef(ByVal celda As Range) As String
Application.Volatile True
If InStr(1, celda.FormulaLocal, "!") > 0 Then
ExtraerRef = Mid(celda.FormulaLocal, InStr(1, celda.FormulaLocal, "!") + 1)
Else
ExtraerRef = Mid(celda.FormulaLocal, 2)
End If
End Function

Saludos, desde Baires, JuanC
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

RE:Leer como texto formula en celda

Publicado por Richard (43 intervenciones) el 23/12/2010 05:12:28
Gracias a juanjo por la solución en una macro.
Gracias JuanC por la solución en una función.
Qué soluciones tan rápidas y excelentes.

Quedo altamente agradecido ustedes al igual que a Luis Fernando por su interés.

PD: JuaC que significa " Rizando el rizo....."?
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
Imágen de perfil de JuanC

RE:Leer como texto formula en celda

Publicado por JuanC (1053 intervenciones) el 23/12/2010 11:17:43
rizar el rizo
volver un asunto más complicado de lo que es sin necesidad,
tratar de hacer algo ya hecho pero con alguna variante...

Saludos, desde Baires, JuanC
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

RE:Para JuanC

Publicado por Richard (43 intervenciones) el 23/12/2010 12:50:49
JuanC,
Eso no aplica de ninguna manera en este caso.
Se trata definitivamente de facilitarme el trabajo, que consiste en revisar que los que otros hicieron está bien hecho; y lo que mas se repite son formulas que se reieren celdas en diferentes hojas. En resumen: Si lo hago manualmente, el tiempo estimado para realizar la revisión es de un mes. Si logro diseñar un programa (que ya está avanzadoto y no creo que me tome más de dos días), estoces sí vale la pena......

A propósito, estoy tratando de entender la función, y lo que hasta ahora he entendido es que dependiendo le la ubicación de "!", extrae de ahí en adelante. Entendiendole así, intenté lo siguiente: Cómo en todos los casos la formula comienza con "=+......", con el propósito de obtener todo el texto que esta después del "=", cambié el la función "!" por "+" y me genera error :

Function ExtraerRefN(ByVal celda As Range) As String
Application.Volatile True
If InStr(1, celda.FormulaLocal, "+") > 0 Then
ExtraerRef = Mid(celda.FormulaLocal, InStr(1, celda.FormulaLocal, "+") + 1)
Else
ExtraerRef = Mid(celda.FormulaLocal, 2)
End If
End Function

Disculpa por abusar de tu generosidad......
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
Imágen de perfil de JuanC

RE:Para JuanC

Publicado por JuanC (1053 intervenciones) el 23/12/2010 13:11:28
el problema es que cambiaste el nombre de la función
ExtraerRef por ExtraerRefN
debe aparecer en todas partes del código igual...

Saludos, desde Baires, JuanC
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

RE:Para JuanC

Publicado por Richard (43 intervenciones) el 23/12/2010 19:40:49
Gracias JuanC, ese era el error, lo corregí y funciona.
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

RE:Leer como texto formula en celda

Publicado por Armando (126 intervenciones) el 23/12/2010 19:22:54
Otra funcion:
Function ForText(r As Range)
If r.HasFormula Then
ForText = r.Formula
Else: ForText = r
End If
End Function
=ForText(A1)
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

RE:Leer como texto formula en celda

Publicado por Richard (43 intervenciones) el 23/12/2010 19:37:00
Gracias Armando, con la tuya he obtenido tres soluciones diferentes al problema.
Creo que es suficiente. Gracias a todos.
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