- ベストアンサー
エクセルマクロで2つのセルに入っているコメントを比較したい
よろしくお願いします。 エクセルマクロで異なる2つのセルAとBに入っているコメントを比較しその結果を表示させたいと思ってます。具体的には、 1.セルAのコメントなし セルBのコメントなし ⇒比較結果として「1」を表示 2.セルAのコメントあり セルBのコメントなし ⇒比較結果として「2」を表示 3.セルAのコメントなし セルBのコメントあり ⇒比較結果として「3」を表示 4.セルAのコメントあり セルBのコメントあり かつ両コメントが等しい ⇒比較結果として「4」を表示 5.セルAのコメントあり セルBのコメントあり かつ両コメントが等しくない ⇒比較結果として「5」を表示 というものです。 何卒よろしくお願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Sub Test() Dim rng(2), cmt(2), chk rng(1) = "D2" rng(2) = "C11" cmt(1) = Range(rng(1)).NoteText cmt(2) = Range(rng(2)).NoteText Select Case cmt(1) Case Is <> "" Select Case cmt(2) Case Is = "" chk = 2 Case Else If cmt(1) = cmt(2) Then chk = 5 Else chk = 4 End Select Case Else If cmt(2) <> "" Then chk = 3 Else chk = 1 End Select MsgBox chk End Sub とか・・・
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
Sub test01() Dim a As Range, b As Range Dim ans As String Set a = Range("A1") Set b = Range("B1") If a.Comment Is Nothing And b.Comment Is Nothing Then If b.Comment Is Nothing Then ans = "「1」を表示" If Not b.Comment Is Nothing Then ans = "「3」を表示" Else If b.Comment Is Nothing Then ans = "「2」を表示" If Not b.Comment Is Nothing Then If a.Comment.Text = b.Comment.Text Then ans = "「4」を表示" Else ans = "「5」を表示" End If End If End If MsgBox ans, vbInformation, " ( ̄ー ̄)v " End Sub ではどうでしょう。
お礼
早速のご回答ありがとうございました。 こういう方法もあるのですね。参考になります。 ありがとうございました。
お礼
早速のご回答ありがとうございました。 なるほど「NoteText」というのでコメントを取得できるのですね! やってみます。ありがとうございました。