Grant tiene una celda en una hoja de trabajo que cuando alguien comienza a escribir en la celda, le gustaría que todo lo que escriba termine en un comentario adjunto a la celda. La celda en sí debe permanecer en blanco, pero el comentario debe contener lo que se haya escrito.

La única forma de realizar esta tarea es mediante el uso de una macro.

Con las capacidades del controlador de eventos de Excel, puede crear una macro que se activa cada vez que se cambia una celda. Si la celda modificada es la celda con la que desea que se asocie el comentario, puede transferir el contenido de la celda al comentario y eliminarlo de la celda en sí. La siguiente macro breve hará eso:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rCell As Range     Dim sTemp As String

Set rCell = Range("B4")

If Not Intersect(Target, rCell) Is Nothing Then         sTemp = rCell.Value         rCell.ClearComments         If Len(sTemp) > 0 Then             Application.EnableEvents = False             On Error Resume Next             rCell.AddComment             rCell.Comment.Text Text:=sTemp             On Error GoTo 0             rCell.ClearContents             Application.EnableEvents = True         End If     End If End Sub

Tenga en cuenta que, dado que se trata de un controlador de eventos, debe agregarse al módulo de código de la hoja de trabajo que desea afectar. En este caso, el código de movimiento a comentario se activa solo cuando se realiza un cambio en la celda B4; esta dirección se puede cambiar en el código, si se desea.

También debe tenerse en cuenta que esta macro solo se activa una vez que el usuario termina de ingresar algo en la celda B4. No se activa cuando el usuario comienza a escribir. Entonces, la entrada de datos real todavía ocurre en la celda B4, no en el comentario en sí. Además, si alguien escribe algo en la celda B4, cualquier comentario existente se pierde porque la macro lo elimina antes de mover el contenido de la celda al comentario.

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

Este consejo (13511) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.