Bob preguntó si es posible escribir una fórmula y obtener la respuesta en un comentario, en lugar de en una celda. La respuesta corta es que no, no puedes hacerlo con una fórmula. Sin embargo, puede hacerlo con una macro. Por ejemplo, la siguiente macro agrega el contenido de dos celdas (A1 y B1) y luego pega el resultado en un comentario adjunto a la celda C1:

Sub MakeComment()

With Worksheets(1).Range("C1").AddComment         .Visible = True         .Text "Total of cell A1 plus cell B1 is equal to " & _           ([A1].Value) + ([B1].Value)

End With End Sub

Si prefiere ejecutar la macro en un rango de celdas, entonces es necesario un enfoque diferente. La siguiente macro recorre todas las celdas de una selección. Si la celda contiene una fórmula, la macro coloca el valor (el resultado de la fórmula) en un comentario adjunto a esa celda.

Sub ValueToComment()

Dim rCell As Range     For Each rCell In Selection         With rCell             If .HasFormula Then                 On Error Resume Next                 .Comment.Delete                 On Error GoTo 0                 .AddComment                 .Comment.Text Text:=CStr(rCell.Value)

End If         End With     Next     Set rCell = Nothing End Sub

Mientras recorre las celdas de la selección, si una de las celdas tiene una fórmula y un comentario existente, el comentario se elimina y se reemplaza con el nuevo comentario que contiene el resultado de la fórmula.

Posteriormente, se mostrará el valor de la celda y un comentario con el mismo número. En lugar de CStr, también puede usar la función Formato para mostrar el valor de la forma que desee.

También puede crear una macro que modificará un comentario cada vez que actualice el contenido de una celda en particular. Por ejemplo, digamos que cada vez que alguien realiza un cambio en la celda C11, desea que el resultado de lo que sea que esté en esa celda se coloque en un comentario adjunto a la celda F15. La siguiente macro hace precisamente eso:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim sResult As String

If Union(Target, Range("C11")).Address = Target.Address Then         Application.EnableEvents = False         Application.ScreenUpdating = False         sResult = Target.Value         Target.ClearContents

With Range("F15")

.ClearComments             .AddComment             .Comment.Text Text:=sResult         End With         Application.EnableEvents = True         Application.ScreenUpdating = True     End If End Sub

Cuando alguien ingresa una fórmula (o un valor) en la celda C11, los resultados de esa fórmula (o el valor en sí) se colocan en un comentario que se adjunta a la celda F15. Dado que esta es una macro activada por eventos, debe ingresarse en la ventana de código de la hoja de trabajo en la que funcionará.

Finalmente, es posible que desee que su macro supervise una columna completa. La siguiente macro usa el evento Change de una hoja de trabajo, al igual que la macro anterior. Sin embargo, solo entra en acción si el cambio se realizó en la columna F, y solo si se cambió una sola celda en esa columna.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub     If Target.Column <> 6 Then Exit Sub

Dim x As String     Application.EnableEvents = False     If Target.HasFormula Then         x = Evaluate(Target.Formula)

Else         x = Target.Text     End If

Target.ClearComments     If Target.Text = "" Then         Application.EnableEvents = True         Exit Sub     End If

Target.AddComment x     Target = ""

Application.EnableEvents = True End Sub

Si el usuario realiza un cambio en una sola celda en la columna F, la macro toma el resultado de lo que se ingresó y lo coloca en un comentario adjunto a esa celda. A continuación, se elimina el contenido de la celda.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (13038) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Placing_Formula_Results_in_a_Comment [Colocar resultados de fórmulas en un comentario].