최근에 한 엑셀 파일을 정리하다가 여러 시트에 흩어져 남아 있는 메모와 댓글을 한꺼번에 제거해야 하는 상황을 겪었습니다. 그 과정에서 메모(Note)와 댓글(Comment)의 차이를 이해하고, 각각을 효과적으로 지우는 방법을 정리하게 되었습니다. 이 글은 제가 실제로 겪은 경험과 확인한 방법을 바탕으로, 필요에 따라 확장 가능하도록 구성하였습니다.

메모와 댓글의 차이 이해

엑셀에는 오래전부터 사용되던 메모(Notes)와, 최신 버전에 추가된 대화형 댓글(Comments)이 있습니다. 메모는 보통 셀의 오른쪽 상단에 빨간색 삼각형으로 표시되며, 마우스를 올리면 작은 창이 열려 내용을 확인하거나 수정할 수 있습니다. 반면에 댓글은 특정 셀에 대한 의견을 서로 주고받는 대화 형식으로, 셀 옆에 별도의 창이 열려 있고 여러 답글을 달 수 있습니다. 이 두 기능은 사용자 인터페이스와 삭제 방식이 다릅니다.

방법 1: 이동 옵션으로 모든 메모를 한 번에 삭제하기(메모만 해당, 댓글은 제외)

  1. 시트를 선택합니다. 메모를 삭제하려는 시트를 먼저 확인합니다. 여러 시트에 걸쳐 삭제하려면 각 시트를 반복하거나 VBA를 사용하는 것이 편리합니다.
  2. 전체 선택은 필요에 따라 수행합니다. 특정 범위에서만 삭제하고 싶으면 해당 범위를 먼저 드래그하여 선택합니다.
  3. ‘이동 옵션’을 엽니다. Ctrl + G를 누르거나 탭의 찾기 및 선택에서 이동을 클릭합니다.
  4. ‘이동 옵션’ 대화상자에서 메모(C)를 선택한 뒤 확인합니다. 그러면 선택 범위 내의 모든 메모가 선택됩니다.
  5. 선택된 메모를 삭제합니다. 셀 중 아무 곳이나 마우스 오른쪽 버튼을 클릭하고 메모 삭제(D)를 선택하면, 선택된 모든 메모가 한 번에 제거됩니다.

방법 2: VBA 매크로로 메모와 댓글을 일괄 삭제하기(강력하고 유연함)

VBA 매크로를 사용하면 메모와 댓글을 구분하여 삭제하거나, 모든 워크시트에서 한꺼번에 삭제하는 등 더욱 유연하게 작업할 수 있습니다. 매크로 사용 시 파일을 .xlsm 형식으로 저장해야 하며, 보안 경고가 나타날 수 있습니다. 신뢰할 수 있는 파일에서만 매크로를 활성화해 주세요.

VBA 코드 예시

' 1) 활성 시트의 모든 메모(Notes) 삭제
Sub DeleteAllNotesInActiveSheet()
    On Error Resume Next
    ActiveSheet.Cells.SpecialCells(xlCellTypeComments).ClearComments
    On Error GoTo 0
    MsgBox "활성 시트의 모든 메모가 삭제되었습니다.", vbInformation
End Sub

' 2) 활성 시트의 모든 댓글(Comments) 삭제
Sub DeleteAllCommentsInActiveSheet()
    Dim cmt As Comment
    If ActiveSheet.Comments.Count > 0 Then
        For Each cmt In ActiveSheet.Comments
            cmt.Delete
        Next cmt
        MsgBox "활성 시트의 모든 댓글이 삭제되었습니다.", vbInformation
    Else
        MsgBox "활성 시트에 삭제할 댓글이 없습니다.", vbInformation
    End If
End Sub

' 3) 모든 워크시트의 모든 메모 삭제
Sub DeleteAllNotesInAllWorksheets()
    Dim ws As Worksheet
    On Error Resume Next
    For Each ws In ThisWorkbook.Worksheets
        ws.Cells.SpecialCells(xlCellTypeComments).ClearComments
    Next ws
    On Error GoTo 0
    MsgBox "통합 문서의 모든 워크시트에 있는 메모가 삭제되었습니다.", vbInformation
End Sub

' 4) 모든 워크시트의 모든 댓글 삭제
Sub DeleteAllCommentsInAllWorksheets()
    Dim ws As Worksheet
    Dim cmt As Comment
    Dim commentCount As Long

    commentCount = 0
    For Each ws In ThisWorkbook.Worksheets
        If ws.Comments.Count > 0 Then
            For Each cmt In ws.Comments
                cmt.Delete
                commentCount = commentCount + 1
            Next cmt
        End If
    Next ws

    If commentCount > 0 Then
        MsgBox "통합 문서의 모든 워크시트에 있는 " & commentCount & "개의 댓글이 삭제되었습니다.", vbInformation
    Else
        MsgBox "통합 문서에 삭제할 댓글이 없습니다.", vbInformation
    End If
End Sub

' 5) 모든 워크시트의 모든 메모와 모든 댓글을 동시에 삭제
Sub DeleteAllNotesAndCommentsInAllWorksheets()
    Dim ws As Worksheet
    Dim cmt As Comment
    Dim notesDeleted As Long
    Dim commentsDeleted As Long

    notesDeleted = 0
    commentsDeleted = 0

    For Each ws In ThisWorkbook.Worksheets
        On Error Resume Next
        If ws.Cells.SpecialCells(xlCellTypeComments).Count > 0 Then
            ws.Cells.SpecialCells(xlCellTypeComments).ClearComments
            notesDeleted = notesDeleted + 1
        End If
        On Error GoTo 0

        If ws.Comments.Count > 0 Then
            For Each cmt In ws.Comments
                cmt.Delete
                commentsDeleted = commentsDeleted + 1
            Next cmt
        End If
    Next ws

    MsgBox "모든 워크시트의 모든 메모와 댓글이 삭제되었습니다." & vbCrLf & _
           "삭제된 메모가 있는 시트 수: " & notesDeleted & vbCrLf & _
           "삭제된 댓글 수: " & commentsDeleted, vbInformation
End Sub

중요 팁

  • 삭제 전 저장: 메모나 댓글을 삭제하기 전에 파일을 저장해 두면 실수로 삭제한 내용을 되돌리기 쉽습니다.
  • 메모와 댓글 구분 확인: 빨간 삼각형이 보이면 메모, 셀 옆의 대화 창이 열리면 댓글임을 확인할 수 있습니다.
  • 매크로 보안: 매크로를 포함한 파일은 보안 경고가 나타날 수 있습니다. 신뢰할 수 있는 출처의 매크로만 사용하고 필요 시에만 활성화하세요.

대부분의 경우, 원하시는 메모를 한꺼번에 제거하려면 이동 옵션을 활용하는 방법이 가장 간단합니다. 반면에 전체 문서의 메모와 댓글까지 깔끔하게 정리하고 싶다면 VBA 매크로가 가장 강력하고 유연한 방법입니다.