顧客IDを自動的に作る

顧客IDを自動的に作る
顧客IDを自動的に作る

マクロ 73回

顧客IDを自動入力

データを入力する時に、このサンプルでは顧客IDが Aで始まる4ケタの数値がですが、 いったい前回は、何番だったか、あるいは何番までデータを入れていたかなどと 言うことを、データベースを見て、目視で番号確認するなどということは、とても面倒くさくてやってられません。
できることならばマクロでお任せして自分は入力したくないという気持ちがあります。
顧客IDを手入力ではなく自動で入力できるようにする方法を考えることにします。
(サンプルファイルは、こちらから マクロ73回サンプルデータ

【転記処理Part3】数値を文字列として入れる

1.こちらのサンプルでは、データは3行まで入っています。


顧客IDを自動的に作る1 border=0

2.このような顧客 ID 数値文字列をどのように入れるかというマクロをコードにしてきたいと思います。


顧客IDを自動的に作る2 border=0

3.入力用シートには、顧客IDと書いたセルの隣に、IDが入力されています。


顧客IDを自動的に作る3 border=0

4. 例えば選択範囲に連番を連続した ID を入れる場合です。


顧客IDを自動的に作る4 border=0

データシートに自動で連続した番号を入力する

5. こちらは、データシートですが、データシートに連続番号を入れる場合は、行番号という連続した番号がありますからこの行番号を使いたいですね。


顧客IDを自動的に作る5 border=0

6. Selectionの行番号から-2すれば、取得したい値4を得ることができます。

顧客IDを自動的に作る6 border=0

7.数値を4桁表示にするために、書式を設定します。

    .Value = MasterRange.Row - 2
    .NumberFormatLocal = "@"
    .Value = Format(.Value, "0000")
顧客IDを自動的に作る7 border=0

8. これで、データシートには、0004と入力されました。


顧客IDを自動的に作る8 border=0

数値の先頭にA

9. 数値の先頭にAとつけるには、すでに文字列として書式設定しているので、 .Value = Format(.Value, "a0000") としてやるだけでOKです。


顧客IDを自動的に作る9 border=0

10.前回のマクロコードで、データシートのMasterRangeという変数をセットしました。これと数字を文字列で入れるマクロのSelectionは同じです。


顧客IDを自動的に作る10 border=0

11.そこで、Selectionを MasterRangeという変数に置き換えます。これで動作することを確認しました。


顧客IDを自動的に作る11 border=0

12. 次に、この自動で顧客IDを入力するコードを前回の検索してデータを転記するマクロに追加してやります。


顧客IDを自動的に作る12 border=0

転記するコード修正

13. 自動で顧客IDを入力するコードを追加すると、その次のFor Nextのコードは、0 To 8 ではなく、1 To 8 になります。


顧客IDを自動的に作る13 border=0

14. そして、入力シートとデータシートの顧客IDは同じですから、
nyuuryoku.Value = MasterRange.Value
と1行コードを追加しておきます。


顧客IDを自動的に作る14 border=0

15. では、入力シートに戻り新しいデータを記入し、転記マクロを実行します。


顧客IDを自動的に作る15 border=0

16.入力シートの顧客IDにa0004というIDが入力されました。


顧客IDを自動的に作る16 border=0

17.ということは、データシートの方にも、顧客データが転記されていることになります。確認した図が以下です。


顧客IDを自動的に作る17 border=0

次回は、データを検索するマクロを作成します。