Bob은 수식을 작성하고 셀 대신 주석에서 답을 얻을 수 있는지 물었습니다. 짧은 대답은 아니오, 공식으로 할 수 없다는 것입니다. 그러나 매크로를 사용하여 수행 할 수 있습니다. 예를 들어 다음 매크로는 두 셀 (A1 및 B1)의 내용을 추가 한 다음 결과를 셀 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

셀 범위에서 매크로를 실행하려면 다른 방법이 필요합니다. 다음 매크로는 선택 항목의 모든 셀을 반복합니다. 셀에 수식이 포함 된 경우 매크로는 해당 셀에 첨부 된 주석에 값 (수식 결과)을 입력합니다.

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

선택 영역의 셀을 반복하는 동안 셀 중 하나에 공식과 기존 주석이 있으면 주석이 삭제되고 공식 결과가 포함 된 새 주석으로 바뀝니다.

그 후 셀의 값과 같은 번호의 주석이 표시됩니다. CStr 대신 Format 함수를 사용하여 원하는 방식으로 값을 표시 할 수도 있습니다.

특정 셀의 내용을 업데이트 할 때마다 주석을 수정하는 매크로를 만들 수도 있습니다. 예를 들어, 누군가가 C11 셀을 변경할 때마다 해당 셀에있는 모든 결과가 F15 셀에 첨부 된 주석에 배치되기를 원한다고 가정 해 보겠습니다. 다음 매크로는이를 수행합니다.

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

누군가가 수식 (또는 값)을 C11 셀에 입력하면 해당 수식의 결과 (또는 값 자체)가 F15 셀에 첨부 된 주석에 배치됩니다. 이 매크로는 이벤트 트리거 매크로이므로 작동 할 워크 시트의 코드 창에 입력해야합니다.

마지막으로 매크로가 전체 열을 모니터링하도록 할 수 있습니다. 다음 매크로는 이전 매크로와 마찬가지로 워크 시트의 Change 이벤트를 사용합니다. 그러나 F 열에서 변경이 이루어지고 해당 열의 단일 셀이 변경된 경우에만 실행됩니다.

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

사용자가 F 열의 단일 셀을 변경하면 매크로는 입력 된 결과를 가져와 해당 셀에 첨부 된 주석에 배치합니다. 그런 다음 셀의 내용이 삭제됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13038)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Placing_Formula_Results_in_a_Comment [Placing Formula Results in a Comment].