• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2010 VBAで文字を数える)

Access2010 VBAで文字を数える

このQ&Aのポイント
  • Access2010 VBAを使用して、テキストボックス内に記載された任意の文字列の数を数え、変数に格納したいと考えています。
  • コマンドボタンを押すと、メッセージボックスに「○件選択しています。」と表示されるようにしたいです。
  • 質問者はLen関数とSubstitute関数を使用して文字のカウントを試みましたが、コンパイルエラーが発生しました。テキストボックスとコマンドボタンは同一のフォーム内に配置されており、カンマを検索したい文字として指定しています。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> Dim A As Integer > A = Len([txtbox]) - Len(SUBSTITUTE([txtbox], ",")) >  MsgBox(A & "件の選択しています。") これはどこに記述してますか?コマンドボタンClick? MsgBox("件の選択しています。") だけにして、正常動作しますか? しないなら、コード記述場所の問題。解決を図るのはそこから。 私だったら、 dim strArray() as string dim nArray as long strArray()=split([txtbox], ",") nArray=ubound(strArray()) MsgBox(nArray & "件の選択しています。 とします。

ryoza0130
質問者

お礼

ご回答ありがとうございます。 記述位置は問題ありませんでした。 同じ物を求めるにしてもいろいろな方法があることを改めて勉強になりました。 ありがとうございました。

その他の回答 (1)

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

AccessのVBAならReplaceですね。 --- A = Len([txtbox]) - Len(Replace([txtbox], ",",""))

ryoza0130
質問者

お礼

ご回答ありがとうございます。 o_chi_chiさんの回答でもbin-chanさんの回答でも、私が求めていたことができたのでどちらをベストアンサーにするか悩んだのですが、o_chi_chiさんには申し訳なく思いますが、先にお答えいただいた方を選ばせて頂きました。 Replaceを使って求める方法も勉強になりました。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう