Excel VBA質問箱 IV

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

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


2252 / 13646 ツリー ←次へ | 前へ→

【69130】コメントの内容をカウントする ぺけぽん 11/5/19(木) 17:43 質問[未読]
【69131】Re:コメントの内容をカウントする neptune 11/5/19(木) 17:49 発言[未読]
【69134】Re:コメントの内容をカウントする ぺけぽん 11/5/20(金) 11:45 発言[未読]
【69140】Re:コメントの内容をカウントする neptune 11/5/20(金) 15:33 発言[未読]
【69135】Re:コメントの内容をカウントする UO3 11/5/20(金) 14:20 回答[未読]
【69137】Re:コメントの内容をカウントする ぺけぽん 11/5/20(金) 14:43 お礼[未読]
【69139】Re:コメントの内容をカウントする sasa 11/5/20(金) 14:54 回答[未読]
【69143】Re:コメントの内容をカウントする UO3 11/5/20(金) 16:36 発言[未読]
【69145】Re:コメントの内容をカウントする とーり 11/5/20(金) 17:02 回答[未読]

【69130】コメントの内容をカウントする
質問  ぺけぽん  - 11/5/19(木) 17:43 -

引用なし
パスワード
   下記のように、B列にコメントが入っています。
VBAで、りんごが3、バナナが1 とカウントしたいんですが、
どのように、組めばよいか、3日間悩んでおります。
どうか、ヒントをお願いします。

   A列  B列    C列
1行:    りんご
2行:    バナナ
3行:     
4行:    りんご
5行:    りんご 
6行:   

【69131】Re:コメントの内容をカウントする
発言  neptune  - 11/5/19(木) 17:49 -

引用なし
パスワード
   ▼ぺけぽん さん:
確認してませんけど、
countif関数が使えませんか?

VBAでもかなりの数のワークシート関数が使えますので。

application.WorksheetFunction.CountIf(・・・

【69134】Re:コメントの内容をカウントする
発言  ぺけぽん  - 11/5/20(金) 11:45 -

引用なし
パスワード
   コメントなんですが、出来ないようです。

【69135】Re:コメントの内容をカウントする
回答  UO3  - 11/5/20(金) 14:20 -

引用なし
パスワード
   ▼ぺけぽん さん:

コメントの取得自体、結構、処理効率はわるいみたいですが。

Sub Sample()
  Dim c As Range
  Dim dic As Object
  Dim myStr As Variant
  
  Set dic = CreateObject("Scripting.Dictionary")
  
  With Sheets("Sheet1")
    For Each c In .Range("B1", .Range("B" & .Rows.Count))
      myStr = ""
      On Error Resume Next
      myStr = c.Comment.Text
      If myStr <> "" Then dic(myStr) = dic(myStr) + 1
      On Error GoTo 0
    Next
  End With
  
  '以下は確認のコードです
  
  For Each myStr In dic
    MsgBox myStr & ":" & dic(myStr) & "件"
  Next
  
  Set dic = Nothing
  
End Sub

【69137】Re:コメントの内容をカウントする
お礼  ぺけぽん  - 11/5/20(金) 14:43 -

引用なし
パスワード
   ありがとうございました。
たすかりました。

【69139】Re:コメントの内容をカウントする
回答  sasa  - 11/5/20(金) 14:54 -

引用なし
パスワード
   >コメントの取得自体、結構、処理効率はわるいみたいですが。

コメントの取得は Range.SpecialCellsメソッド が定番だと思います。
Columns("B").SpecialCells(xlCellTypeComments)

【69140】Re:コメントの内容をカウントする
発言  neptune  - 11/5/20(金) 15:33 -

引用なし
パスワード
   ▼ぺけぽん さん:

>コメントなんですが、出来ないようです。
ああっコメントだったんですね。ごめんなさい。

既に沢山アドバイスが出ていて良かったです。

【69143】Re:コメントの内容をカウントする
発言  UO3  - 11/5/20(金) 16:36 -

引用なし
パスワード
   ▼sasa さん:

>コメントの取得は Range.SpecialCellsメソッド が定番だと思います。
>Columns("B").SpecialCells(xlCellTypeComments)

ありがとうございます。

xlCellTypeComments こういうのがあったんですね。
勉強になります!

【69145】Re:コメントの内容をカウントする
回答  とーり  - 11/5/20(金) 17:02 -

引用なし
パスワード
   Commentsでまわす。

Dim cmt As Comment
For Each cmt In Sheet1.Comments
 Debug.Print cmt.Text
Next

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