Colocación automática de texto en un comentario (Microsoft Excel)
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.