[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『文字列データに含まれる特定の文字をカウントするマクロ』(網輔)
文字列データが沢山の行にあります。 その文字列データに含まれる特定の文字をカウントするマクロをご教示下さい。
たとえば、下記A列の各行に文字データがあります。 (実際にはデータが約1000行ぐらいあります。) このデータに特定の文字”りんご”を含む文字データをカウントするマクロです。 よろしくお願いいたします。(この場合では"4"とカウントされる。) (A1) 青りんご しぶ柿 ぶどう 赤りんご バナナ みかん 青森りんご 青りんご みかん
[エクセルのバージョン] Excel2003 [OSのバージョン] WindowsXP
一般関数ですがだめですか? =COUNTIF(A1:A9,"*りんご*") (MARBIN)
マクロで自動集計したいので マクロで実現したいのですが・・・。
VBAでも同じですが・・・。 MsgBox WorksheetFunction.CountIf(Worksheets(1).Range("A:A"), "*りんご*") (MARBIN)
MARBINさん、ありがとうございます。 マクロは勉強を始めたばかりなので、 申し訳ありませんでした。m(_ _)m (網輔)
VBAでループで検索する場合は、 Like演算子 を使うと便利です。 あと、オートフィルタなどでも出来ると思いますが、 使ったことがないので解説できません・・・。 (MARBIN)
1行目を結果が入る行として空けておいて、2行目からデータが始まるとしておいて。 A1に結果が出ます。 ご参考に。
Sub SAMPLE1() Dim I As Long, CT1 As Long, FU1 As Boolean For I = 2 To 3000 If (Cells(I, 1) = "") Then Exit For FU1 = Cells(I, 1) Like "*りんご*" If (FU1 = True) Then CT1 = CT1 + 1 Next I Cells(1, 1) = CT1 End Sub (mr_mangoos)
Sub test() Dim myDirteria As String, x As Long myCirteria = InputBox("文字列を入力") If myCriteria = "" Or myCriteria = "False" Then Exit Sub MsgBox worksheetfunction.countif(Worksheets(1).Range("A:A"), "*" & myCriteria & "*") End Sub (seiya)
MARBINさん、mr_mangoosさん、seiyaさん、 ありがとうございます。とても参考になりました。 今度は少しレベルUPして複数の条件でカウントする方法を オートフィルタとCOUNTIFを使ってVBAで作ろうと勉強してます。 (網輔)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.