Cómo extraer comentarios de celdas en Excel

Cuando un libro de Excel es revisado por varias personas, generalmente termina con una gran cantidad de celdas repletas de comentarios y para ser honestos, el revisar comentario por comentario no es eficiente.

Extraer comentarios de celdas

En esta ocasión crearemos una macro que nos ayudará a extraer los comentarios de celdas y que colocará el texto de dichos comentarios en las celdas de otra hoja. Como base para este ejemplo utilizaré la siguiente hoja con comentarios:

Cómo extraer comentarios de celdas en Excel

Después de ejecutar la macro habremos extraído los comentarios y estarán ubicados en una hoja diferente a la original de la siguiente manera:

Extraer comentarios y colocarlos en celda

Macro para extraer comentarios

La lógica de nuestra macro será la siguiente. Una vez seleccionado un rango de nuestra hoja haremos una revisión de cada una de las celdas y copiaremos los comentarios a una hoja diferente.  Considera el siguiente código:

Sub ExtraerComentarios()

'Definir la hoja donde se colocarán los comentarios
Dim hojaComentarios As Worksheet
Set hojaComentarios = ActiveWorkbook.Sheets("Hoja2")

'Extraer los comentarios si se ha seleccionado un rango
If TypeName(Selection) = "Range" Then
    
    'Establecer el rango a inspeccionar
    Set rango = Intersect(Selection, ActiveSheet.UsedRange)
    
    'Recorrer todas las celdas del rango
    For Each celda In rango.Cells
        
        'Obtener el comentario de la celda
        On Error Resume Next
        comentario = celda.Comment.Text
                
        'Si la celda tiene un comentario
        If Len(comentario) > 0 Then
            fila = fila + 1
            
            'Insertar la direccón de la celda en la columna A
            'y el texto del comentario en la columna B
            hojaComentarios.Range("A" & fila) = celda.Address
            hojaComentarios.Range("B" & fila) = comentario
            
            'Opcional: Borrar el comentario original
            'celda.Comment.Delete
        End If
        
        comentario = ""
        On Error GoTo 0
    Next
End If

End Sub

La línea 5 define la hoja donde se colocarán los comentarios y deberás configurarla para utilizar la hoja de tu preferencia. En este ejemplo los comentarios están en la Hoja1 y por lo tanto colocaré los comentarios en la Hoja2. La línea 8 hace una validación para saber si el tipo de selección realizada en nuestra hoja es en realidad un rango de celdas ya que de esta manera nos aseguramos que no se haya seleccionado un gráfico o una caja de comentario dentro de la hoja.

La propiedad ActiveSheet.UsedRange nos da precisamente el rango seleccionado y es a partir de la línea 14 que comenzamos a recorrer cada una de las celdas del rango haciendo una evaluación de la longitud de su comentario. Si la celda no tiene comentario, la longitud de la propiedad celda.Comment.Text será de cero. Si por el contrario, encontramos que el comentario tiene una longitud mayor a cero, entonces copiamos tanto la dirección de la celda, como su comentario en la columna A y columna B de la hoja indicada por la variable hojaComentarios. De esta manera se repite el ciclo hasta que hayamos terminado de extraer los comentarios de las celdas del rango seleccionado.

Observa que en la línea 30 del código hay una sentencia que está comentada la cual puedes habilitar para eliminar por completo los comentarios de las celdas originales, por supuesto, la eliminación se hace una vez que se ha copiado el comentario a la nueva hoja. Si deseas habilitar esta opción solo remueve el comentario de dicha línea.

Extraer comentarios de un rango

Ahora probemos nuestra macro y para ello seleccionaré el rango de celdas A1:A16 y al ejecutar la macro obtendré el siguiente resultado:

Copiar comentarios en celdas de Excel

Nuestra macro solamente extrae los comentarios de las celdas del rango seleccionado.

Extraer comentarios de toda la hoja

Si queremos extraer los comentarios de toda la hoja será suficiente con hacer clic en el botón Seleccionar todo que se encuentra justamente a la izquierda del encabezado de la columna A y por arriba del encabezado de la fila 1.

Sacar comentario de celdas en Excel

Esta misma selección la podemos hacer también con el atajo de teclado CTRL + E lo cual indicará a la macro que deberá extraer los comentarios de toda la hoja. Solo resta que descargues el archivo de trabajo y hagas tus propias pruebas de extracción de comentarios.