Colocación de resultados de fórmulas en un comentario (Microsoft Excel)
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]
.