こんにちはmasalifeです。
今回はブログを通じて質問いただいた内容「テキストボックスにデータ入力後、特定の文字をくっつける」について紹介したいと思います。
この記事では以下の内容について、学ぶことが出来るので興味のある方は参考にしてください。
・VBAを用いた値の代入
・&演算子(文字列連結演算子)
こんにちはmasalifeです。 当ブログを始めて5年。 5年で75記事という超低速の更新ながらもサイトを閉鎖することなく続けてきました。 こんな、一個人が運営する趣味ブログであるにも関わらず、「助かりま[…]
やりたい事と質問内容
印刷物に宛名を反映するために、宛名を入力するフォームがあります。
毎回、「様」の敬称を入力するのが面倒で、何より入力を漏らしてしまう可能性があります。
その為、宛名を入力すると自動で「様」の文字がくっつき、宛名と「様」の間には全角スペースを入れる仕組みを作りたい。
準備するもの
フォーム
宛名を入力するフォーム「F_宛名印刷入力」
VBAコード
宛名を入力するフォーム「F_宛名印刷入力」のテキストボックス「txt宛名入力」の更新後処理イベントに次のVBAコードを設定します。
1 2 3 4 5 |
Private Sub txt宛名入力_AfterUpdate() Me.txt宛名入力 = Me.txt宛名入力 & " 様" End Sub |
・イベントは、オブジェクト(今回の場合はテキストボックス)に対してユーザーが行う操作などで発生します。
・更新後処理イベントはデータが入力され、データが確定した後に発生するイベントです。
・値がテキストボックスに入力された後にイベントプロシージャ(VBAコード)を実行するようにします。
VBAコードを考える
基本的な留意点として、VBAにおいては左辺=右辺の式は左辺に右辺を代入すると考えます。
これを値の代入といいます。
重要なポイントなので覚えておいてください。
3 |
Me.txt宛名入力 = Me.txt宛名入力 & " 様" |
そうすると、⇧のコードは、左辺(テキストボックス:txt宛名入力)に右辺の値を代入している式であることが分かります。
そして、もう一つのポイントは右辺の「&」です。
「&」はアンパサンドと言い、文字と文字を繋ぐ文字列連結演算子の一つです。
「&」が文字と文字を繋いでいることが分かれば、右辺部分の
テキストボックスに入力された値(文字)に&を使って、「 様」をくっつけている
という理解は簡単です。
※文字列のため、ダブルクォーテーション(””)で囲うことを忘れないでください。
以上が宛名を入力すると「 様」が自動でくっつく仕組みです。
さいごに
さいごにもう一度言いますが、
左辺=右辺の式は左辺に右辺を代入する
この考え方を覚えておくことが一番重要です。
今回はテキストボックスを例に挙げましたが、ラベルの文字を変更することも出来ます。
色々と試してみて、ぜひ使い方を身に付けてください。
最後まで読んでいただきありがとうございました。