- ベストアンサー
エクセルのコメントについて
こんにちは。 エクセルファイル内(例えば一つの列)の中にあるコメントを付けているセルの数の合計を出すことってできるのですか? 今は手計算で数えているのですがセルが多くなってくるにつれてミス等も出てきて悩んでいます。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#3です。 こんな感じでどうでしょう? Sub cntcmt() Dim rng1 As Range, wkrng As Range, cntr As Long Set rng1 = Selection cntr = 0 For Each wkrng In rng1 If Not wkrng.Comment Is Nothing Then cntr = cntr + 1 End If Next tmp = MsgBox("コメントの件数は " & cntr & "です", vbOKOnly, "コメントカウント") End Sub カウントしたいコメントのある範囲を選択した状態で、上のマクロを実行してください。
その他の回答 (4)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
作ってみました、標準モジュールに書き込みして下さい。 Public Function countComment(r As Range) As Integer '指定した範囲のコメントの数 Application.Volatile '自動再計算関数にする Dim x As Range Dim sum As Integer sum = 0 For Each x In r If Not (x.Comment Is Nothing) Then sum = sum + 1 End If Next countComment = sum End Function Public Function countCommentAll()'アクティブシート全体のコメントの数 Application.Volatile '自動再計算関数にする countCommentAll = Application.ActiveSheet.Comments.Count End Function
コメントというのは、メニューの挿入=>コメント(もしくは右クリックでコメントの挿入)で付けるもののことでしょうか? それでしたら、VBAでカウントすることになると思いますが、VBAでよろしいでしょうか?
空白列に =PHONETIC(A1) でカウントしたらどうでしょうか
- redowl
- ベストアンサー率43% (2140/4926)
同じ列に数値やコメントが混じっている状態で、 コメントのみのセル数をカウントするのか、はっきりわからないので。 混じっている状態で考えます。 空白でないセル の個数 を求める関数 =COUNTA(セルの範囲) でできると思います。
補足
ご返事有難うございます。 再度質問させていただきますが COUNTA関数でコメントがあるセルの個数のみを求めるにはどうしたらよしのでしょうか? お願いいたします。
補足
ご返事ありがとうございます。 rebellionさんのおっしゃる通りの右クリックで挿入するコメントのことです。 もしよろしければVBAでコードを教えて頂ければ大変ありがたいです。お願いいたします。