まえきんです!
今回はユーザーフォームのテキストボックス内を
検索する方法について学習しましたのでご紹介します。
【ユーザーフォーム】
【コマンドボタンを押下した際のイベント処理】
動作確認のため、テキストボックスに任意の文字列(今回も例として「スキル
アップ」)を予め入力しておきます。この状態でコマンドボタンを押下すると
以下のような結果になります。
まずInStr関数で検索でヒットした文字列の位置を取得します。この関数は
第1引数で指定した文字列の中から、第2引数で指定した文字列を検索して、
見つかった位置を返します。
(例)
InStr(第1引数,第2引数) ⇔ InStr(“ABCDE”,“B”)
第1引数(上記の例でいう“ABCDE”)には検索の対象となる文字列を指定します。
一方、第2引数(上記の例でいう“D”)には第1引数の中で検索する文字列を指定
します。この場合、関数の戻り値は2になります。
この性質を利用すると、戻り値が0より大きい場合は検索した文字列が見つかった
と判断することができます。今回は検索文字列が見つかった場合、該当の文字列を
選択状態にするマクロを考えているので、前回の#120で学習したテキストボックス内の
文字列を選択状態にするコードが流用できます。つまりはテキストボックスのSelStart
プロパティとSelLengthプロパティ、SetFocusメソッドが今回も登場します。
SelStartプロパティは選択する文字列の先頭位置、SelLengthプロパティは何文字
選択するかを指定するのでした。これらの仕込みをしておくことで、検索文字列
「スキル」が選択状態にできます!
次回#122は「リストボックスにデータを登録する Part1」
VBAコードについて学習予定です。
最後まで読んで頂きありがとうございました!ではまた!
コメント