必要な桁数文字をくっつける

こんにちはmasalifeです。

今回はちょっとした入力支援機能をVBAで作ってみたので紹介します。

 

簡単で基本の内容なので、

 

これからVBAを勉強したいと思っている方には「VBAでこんな事できるんだ」

VBAを勉強し始めた方には「VBAの基本を覚えるクイズ感覚」

 

で取り組んでいただければと思います。

 

また実際の業務で必要だった内容なので、

同じ業務でお困りの方はすぐ活用できるのではないかと思います。

 

・Len関数

 

・For Next文

何をどのように改善したいのか

改善事項:人の目で判断し、無駄な入力をしている

まず、なぜVBAで入力支援機能を作らないといけない状況と判断したかをお話しします。

 

職場では書類ごとに管理番号が付されていて、その管理番号とその他の情報を入力し、データベースとしてAccessで管理をしています。

そして、その管理番号にはルールがあって、20桁でないといけません。

 

20桁入力するだけでもめんどくさいのに、最もやっかいなことが、

付されている管理番号の桁数は書類によって異なり、20桁に満たない場合は頭に0を付けて入力する

というルールです。

 

人の目で足らない桁数を判断し、足らない桁数分、決まっている0を入力しているという

不確実で無駄な作業方法です。

これは改善の余地ありです。

 

改善内容:桁数の判断と0をくっつける部分を自動化

桁数の判断はコンピュータの方が確実です。

足らない桁数分くっつけるのが0と決まっているのであればコンピュータに任せてしまいましょう。

プログラミングをする前の手順書

改善すべき状況と改善方法が明確になったので、VBAを書く前に手順書を作ります。

手順書を作るとプログラミングしやすくなるので、簡単でいいので書く癖を付けましょう。

・管理番号を入力するテキストボックスに入力されている管理番号の桁数を取得

・20桁に足らない桁数を取得

・0を一つくっつけることを足らない桁数分繰り返す

手順書に従ってプログラミングしていきましょう。
 
方法として簡単な入力フォームを作成して、テキストボックス(txt整理番号)のイベントの【更新後処理】にVBAを書きながら動作確認するのがいいと思います。
 
ぜひクイズ感覚で楽しみながら取り組んでください。

VBAコードの確認

[crayon-6766f39abba76404476681/]

*12行目の&ampは&と読み替えてください。

・3~5行目で桁数と繰り返す数(ループカウンタ)を格納する変数を宣言しています。

・7行目で入力した管理番号の桁数を変数ketasuに代入しています。

・8行目で20桁から足らない桁数(20桁から入力した管理番号の桁数を引く)を変数husokuに代入しています。

・10~14行目でFor Next文を用い、0を一つくっつけることを足らない桁数分繰り返しています。

 

動作確認すると、

自動で足らない桁数分0が頭にくっついていますね。

ただ、これだけです。

 

Len関数やFor Next文を詳しく知りたいという方はこちらへ

For Next文⇒作成中(しばらくお待ちください)

さいごに

この内容を活用した時に、周りから「賢いんやね」と言われました。(自分のことじゃないですよ)

そうなんです。コンピュータは賢いんです。

だから、そのコンピュータを使いこなさいともったいないんです。

コンピュータの賢さを伝えられたいい改善でした。

最後まで読んでいただきありがとうございました。