Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7759 / 13645 ツリー ←次へ | 前へ→

【37044】コメントがあるかどうかの判断 わさび 06/4/20(木) 9:05 質問[未読]
【37045】Re:コメントがあるかどうかの判断 Blue 06/4/20(木) 9:11 発言[未読]
【37072】Re:コメントがあるかどうかの判断 わさび 06/4/20(木) 20:11 お礼[未読]
【37061】Re:コメントがあるかどうかの判断 Kein 06/4/20(木) 16:18 回答[未読]
【37073】Re:コメントがあるかどうかの判断 わさび 06/4/20(木) 20:16 お礼[未読]

【37044】コメントがあるかどうかの判断
質問  わさび  - 06/4/20(木) 9:05 -

引用なし
パスワード
   いつもお世話になっております。

今回、対象セルにコメントがある場合のみ処理を行いたいのですが、
If ○○○ Then ...の、「○○○」部をどう表せばいいのかがわかりません。
コメントがない場合は、
If ActiveCell.Comment Is Nothing Then ...と表せばいいことはわかったのですが…

宜しくお願いします。

【37045】Re:コメントがあるかどうかの判断
発言  Blue  - 06/4/20(木) 9:11 -

引用なし
パスワード
   >コメントがない場合は、
>If ActiveCell.Comment Is Nothing Then ...と表せばいいことはわかったのですが…
単に Not をつけるだけでよさそうですけど。

If Not ActiveCell.Comment Is Nothing Then


それか、Elseをつかうとか

If ActiveCell.Comment Is Nothing Then
  '処理なし
Else
  ' コメントがある
End If

【37061】Re:コメントがあるかどうかの判断
回答  Kein  - 06/4/20(木) 16:18 -

引用なし
パスワード
   選択範囲内のセルにコメントがあるかどうか、をチェックするなら

Sub Check_Cmt()
  Dim MyR As Range, C As Range
  Dim Ad As String

  If TypeName(Selection) <> "Range" Then Exit Sub
  On Error Resume Next
  Set MyR = Intersect(Selection, Cells.SpecialCells(-4144))
  On Error GoTo 0
  If MyR Is Nothing Then
   MsgBox "ないよ !", 48
   Err.Clear
  Else
   For Each C In MyR
     Ad = Ad & C.Address(0, 0) & vbLf
   Next
   MsgBox Ad & "に、あります"
   Set MyR = Nothing
  End If
End Sub

*注 : SpecialCells(-4144) は SpecialCells(xlCellTypeComments) と同じ。

【37072】Re:コメントがあるかどうかの判断
お礼  わさび  - 06/4/20(木) 20:11 -

引用なし
パスワード
   >単に Not をつけるだけでよさそうですけど。
>
>If Not ActiveCell.Comment Is Nothing Then


Notをつけるとは思いつきませんでした。
おかげでセルにコメントがあることをちゃんと判断することができました。
ありがとうございました。

いわゆる「否定の否定」で「肯定」するという間接的な表現ではなく、
「コメントがあります」という直接的な判断式があってもいいのにな、
…と、ちょっと思ってしまいました。

【37073】Re:コメントがあるかどうかの判断
お礼  わさび  - 06/4/20(木) 20:16 -

引用なし
パスワード
   SpecialCellsなるものを初めて知りました。
今回は選択範囲内のセルにコメントがあるかどうかではなく、
ひとつの対象セルに対して処理を行うものでしたが、
教えていただいたコードは今後のために存分に勉強させていただきます。
ありがとうございました。

このSpecialCellsを使って、
直接的に「セルにコメントがあります」と表現できないものか、
SpecialCellsの勉強も兼ねて、研究してみたいと思います。
↑間接的な表現でも問題なくできるのでいいんですが、
なんとか直接的な表現ができないだろうかという、単なる好奇心です。

7759 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free