• ベストアンサー

エクセルマクロで2つのセルに入っているコメントを比較したい

よろしくお願いします。 エクセルマクロで異なる2つのセルAとBに入っているコメントを比較しその結果を表示させたいと思ってます。具体的には、 1.セルAのコメントなし   セルBのコメントなし   ⇒比較結果として「1」を表示 2.セルAのコメントあり   セルBのコメントなし   ⇒比較結果として「2」を表示 3.セルAのコメントなし   セルBのコメントあり   ⇒比較結果として「3」を表示 4.セルAのコメントあり   セルBのコメントあり   かつ両コメントが等しい   ⇒比較結果として「4」を表示 5.セルAのコメントあり   セルBのコメントあり   かつ両コメントが等しくない   ⇒比較結果として「5」を表示 というものです。 何卒よろしくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 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 とか・・・

tarobei
質問者

お礼

早速のご回答ありがとうございました。 なるほど「NoteText」というのでコメントを取得できるのですね! やってみます。ありがとうございました。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

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 ではどうでしょう。

tarobei
質問者

お礼

早速のご回答ありがとうございました。 こういう方法もあるのですね。参考になります。 ありがとうございました。

関連するQ&A