• ベストアンサー

Excel VBA で オブジェクト内の特定の文字列の数を数える

こんにちは。お願いします。 たとえば、セルA1のコメントに"東京都 目黒区 中目黒"というテキストが入っているとします。 " "の数"2"を取得することは可能でしょうか? ご回答よろしくお願いいたします。

noname#200395
noname#200395

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

サンプルです。 Split関数はExcel2000以降です。 Sub test1() With ActiveCell.Comment.Shape.TextFrame MsgBox UBound(Split(.Characters.Text, " ")) End With End Sub あるいは Sub test2() With ActiveCell.Comment.Shape.TextFrame.Characters MsgBox Len(.Text) - Len(WorksheetFunction.Substitute(.Text, " ", "")) End With End Sub

noname#200395
質問者

お礼

ありがとうございます!

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

セルの値ではなくてコメントですよね UBound(Split(Range("A1").Comment.Text, " ")) でいかがでしょう

noname#200395
質問者

お礼

ありがとうございます。 もしセルの値だとしたら、何か関数みたいなのがあるのでしょうか?

回答No.1

>たとえば、セルA1のコメントに"東京都 目黒区 中目黒"というテキストが入っているとします。 >" "の数"2"を取得することは可能でしょうか? スペースの個数を数えるのでしょうか?それともスペースのある箇所を数えるのでしょうか?

noname#200395
質問者

お礼

ありがとうございます。 個数なのですが、すでにご回答いただき、解決いたしました。

関連するQ&A

  • EXCEL 文字列分割について

    EXCEL2003を使用しています。 1つのセルに文字列が入力されており、 それを決まったバイト数ずつ別のセルに分割したいと考えています。 例)A1の文字列を6バイトずつ分割したい A1:東京都文京区 ↓ B1:東京都 C1:文京区 これを実現する為に B1に「=LEFTB(A1,6)」 C1に「=MIDB(A1,7,6)」という数式を入力しました。 A1の文字列が全角のみ(または半角のみ)なら 上記の数式で問題ないと思うのですが、 分割対象の文字列は全角と半角が混ざっており、 例えばA1の値が 「a東京都文京区」 というようなものだった場合、 B1:a東京 C1:文京 となり、元の文字列にある「都」の文字が消えてしまいます。 元の文字列が上記の様な場合には B1:a東京 C1:都文京 というように値が返されるようにしたいのですが、 どのように実現したらよいでしょうか?

  • エクセルで特定の文字があると

    エクセルで特定の文字があると、となりのセルに自動で『不要』と表示させたいのですが、どういう方法があるのでしょうか? 例えば、A列に『都』又は『府』が含まれていればBセルに『不要』と表示させる。    A      B 1 東京都    不要 2 神奈川県   空白 3 埼玉県    空白 4 大阪府    不要 ご教授下さい。

  • 文字列のなかの特定の文字の数

    エクセルの関数式を使って、ある文字列のなかに、特定の文字の数を取得する方法を教えて下さい。 つまり、セルA1に「山口県山口市山田町」という文字列が入力されているとき、「山」という文字が何個あるかを取得したいのです。

  • エクセル 文字列から右3文字を除いて文字列を取り出したい

    エクセル2003です 例えば 「東京のお母さん(A)」と入力されたセルから「(A)」を除いて「東京のお母さん」を取り出したい。 なお、「(A)」は、3文字に確定しているが、「東京のお母さん」の文字数は、7文字より多い場合又は少ない場合があります。 左側の文字数が確定していれば、=LEFT(A1,7)で取り出せますが文字数が不動の場合の取り出し方を教えてください。

  • エクセル 文字列操作

    セルA1とB1が以下のようになっており C1にA1とB1を足した文字列をダブルクオートで囲んだデータに したいのですがうまくいきません。ご教授お願いいたします。 A1=東京都 B1=千代田区 C1="東京四千代田区"

  • EXCEL VBA 文字列

    A列のセルに、文字列が以下の様に並べられています。 【あああああ】いいいいいいううううううえええおおおお 上記のような場合に、”あああああ”と【】の文字だけを取り出して、B列に表示させることはマクロで可能でしょうか?但し、【】のなかの文字数はセルによりバラバラです。 ネットでかなり検索したのですが、自分では解決できませんでした。 どうか、よろしくお願いいたします。

  • 埼玉県北本市から東京都目黒区(東京都中目黒駅)の行き方

    埼玉県北本市から東京都目黒区(東京都中目黒駅)までの行き方を 知っている方は教えて下さい(>_<) 大変急いでます。。。 早めにお願いしますっ!!

  • 安いマンスリ-マンション知ってますか?

    東京都目黒区中目黒近辺に安いマンスリーマンションを探しています。ご存知だったら教えてください。

  • Excelで文字列を独自の二進数で表したい。

    A,B,C,D,Eのいずれかを含む文字が順不同でセルに入っているものから、 A=10000 B=1000 C=100 D=10 E=1 と置換して足した、二進数であらわしたり、逆にその二進数から文字列に戻したりしたいです。 (例:DAなら10010、EBCなら1101) VBAの自作関数を含めてExcelの関数でできる方法があればお教えくださると助かります。

  • TextStream内の特定単語数を数えるには

    宜しくお願いします。 縦方向に展開されているテキスト(データ)をExcel上でまとめようとしています。 FSOで取得したテキストデータを .ReadAll で全て1つの変数に入れて InStr(buf, "住所") として、そのテキスト内に出てきた「住所」の数を数えようとしています。 しかし数えたい数が「1」としか出て来ません。 自分なりに調べてはいるのですが解決策が見当たらず悩んでいます。 具体的なソースでなくとも、参考URLでも結構ですのでお教え頂ければ幸いです。 --TextData.txt (下記のセットが繰り返される)-- 住所: 東京 郵便: 100-2000 コメント: 文章xxxxxx xxxxx メールアドレス: username@example.com ---- --まとめたいExcelの形--- ---|A---|-B--   |-C--        |-D-- -1-|住所|郵便   |コメント       |メールアドレス      | -2-|東京|100-2000|文章xxxxxx xxxxx|username@example.com| -3-|大阪|540-3000|文章xxxxxx xxxxx|username2@example.com| ---------

専門家に質問してみよう