Averiguar si es formula

Ramon Garrido

New Member
Joined
Feb 9, 2006
Messages
3
1)Como puedo saber si una celda contiene una formula usando Excel y no VBA.
2) Como puedo traer como resultado en una celda el texto de una formula que esta en otra celda sin usar VBA
 

Excel Facts

Excel Wisdom
Using a mouse in Excel is the work equivalent of wearing a lanyard when you first get to college
1)Como puedo saber si una celda contiene una formula usando Excel y no VBA.
1a Si usted pone el cursor sobre la celda, podrá ver la fórmula en el “Formula bar”.
1b. Si usted hace click en Edit, Go To, Special, Formula, todas las celdas que contienen una fómula serán marcadas.

2) Como puedo traer como resultado en una celda el texto de una formula que esta en otra celda sin usar VBA
2. Yo necesito una mejor explicación para poder contestarle esta pregunta.
 
Upvote 0
Gracias por la respuesta....

Ok.. Permitame explicarme:

1) Necesito una función que determine si el contenido de una celda es formula. He usado la función ESREF pero no funciona.
2) Si es fórmula, necesito traerme el texto de la formula y no el resultado como lo hace normalmente.
3) Puedo hacer 1 y 2 sin usar VBA ?
 
Upvote 0
Ramón:

Contestando nuevamente sus tres preguntas:

1. Creo que la función “TYPE()” debería dar la solución a su primer pregunta, pero no he podido decifrar cómo hacerla funcionar correctamente para una fórmula. ¿Quizá otra persona podrá ayudarnos?
2. No tengo contestación.
3. No tengo contestación.
 
Upvote 0
Ranón:

Tengo buenas noticias, al menos para su primer pregunta. Fuí al MrExcel en inglés, planteé su problema, y trataron de ayudarme tres estrellas de Excel, a saber: Norrie, Aladín, y Paddy. El último me dió la solución, que intentaré describir, utilizando el ejemplo siguiente:

En A1, ponga 1
En A2, ponga =2
En A3, ponga =3

En B1, ponga 1; se verá el número 1
En B2, ponga =A2*2; se verá el resultado 4
En B3, ponga =SUM(A1:A3); se verá el resultado 6

Ponga el cursor en C1, luego haga click en el Main Menu bar, en “Insert”, escoja “Name”, “Define”.
Allí, en la ventanita bajo “Names in workbook:”, escriba un nombre adecuado (yo usé EsFormula).
En la ventanita “Refers to:”, que se encuentra en la parte baja, escriba la fórmula,
=GET.CELL(6,OFFSET(INDIRECT("rc",FALSE),0,-1))
Note que los dos últimos números, “0,-1”, se refieren a bajar 0 filas (no cambiar de la hilera en que se hace la referencia), y a moverse a la derecha –1 columnas, es decir, moverse a la izquierda una columna, en el presente caso. Si usted va a querer el resultado en otra celda, tendrá que cambiar estos dos numeros en forma apropiada.
Ahora, haga click en “Add” (en la mano derecha de la ventanita “Define Name” en que hemos estado trabajando, y, “OK”.

Ahora, en la celda C1, en donde suponemos queremos comenzar el uso de EsFormula, entre la fórmula: =EsFormula
y copie hacia abajo hasta, digamos, C5.

Veremos:
En C1, 1
En C2, =A2*2
En C3, =SUM(A1:A3)
En C4, vacía
En C5, vacía

¿Qué le parece, Ramón? Esos “gurus” de MrExcel que yo mancioné son una maravilla, ¿verdad?

Ahora, para ver únicamente la formulas, puede uno, digamos:
En la celda E1, poner =IF(LEFT(C1,1)=”=”,c1,””)
Y copiar hacia abajo. Veremos:
E1 está vacía
E2 muestra =As*2
E3 muestra =SUM(A1:A3)
E4 y para abajo todas están vacías.
 
Upvote 0
Bueno no leí cuidadosamente ese último, Rafa, pero veo que estás usando Get.Cell(6...) en una fórmula nombrada que fue justamente la solución que yo iba a proponer. Y si Aladin y Paddy te la dieron, sé que debe de ser buena. Pero ¡OJO! Ramón, si la razón por la cual usted no querría utilizar VBA para determinar si la celda contiene una fórmula es para no salir pescado en la red de seguridad. Favor sepa que MS cerró esta escapatoria con Excel 2003. Get.Cell es uno de los macros de Excel 4.0 que sale incluído para compatabilidad con versiones antiguas. Uno podría usar los macros 4.0 sin aparecer en el «radar» de seguridad con las versiones hasta 2002. Pero la verdad es que un sinvergüenza podría hacer maldades con ellos y por eso ya seguridad pesca esos macros también.

Cordialmente,
 
Upvote 0
RalphA<SCRIPT type=text/javascript> vbmenu_register("postmenu_916798", true); </SCRIPT> Esta pregunta y respuesta yo la anduve buscando por mucho tiempo, a mí en lo particular me a ayudado muchísimo, sin embargo; tengo una pregunta ¿Podrá hacerse esto como una fórmula personalizada que por ejemplo yo coloque =esformula(a1), y me desplegue el contenido de la fórmula en (a1)?

Gracias de antemano
 
Upvote 0
Si lo que quieres es obtener la string de la Formula contenida, cambia el Parametro 6 de GET.CELL(6,....), por GET.CELL(41,....)

Supongo que habras notado que en lugar de GET.CELL, debemos usar en español:
= INDICAR.CELDA(41,......)
 
Upvote 0
Yo tengo la versión en Inglés.
Como antes mencione esta fórmula que nos proporcionó RalphA me ayuda mucho, con el único inconveniente que yo tendría que colocarme en la parte derecha de la fórmula que necesite desplegar. Entonces me pregunto si puede hacer una pequeña Macro bajo este mismo principio que por ejemplo yo tenga los siguiente datos:
r1c1 1
r2c1

Entonces
 
Upvote 0
Yo tengo la versión en Inglés.
Como antes mencione esta fórmula que nos proporcionó RalphA me ayuda mucho, con el único inconveniente que yo tendría que colocarme en la parte derecha de la fórmula que necesite desplegar. Entonces me pregunto si puede hacer una pequeña Macro bajo este mismo principio donde la celda sea variable.


a3 = a1+a2
b3 = b1+b2

Entonces con una fórmula yo podría tener fácilmente el dato de la a3 o si prefiero el dato de la b3.

ejemplo si coloco =esformula(a3) ' Me desplegaría = a1+a2
Si coloco =esformula(b3) ' Me desplegaría = b1+b2
 
Upvote 0

Forum statistics

Threads
1,223,971
Messages
6,175,732
Members
452,667
Latest member
vanessavalentino83

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top