どうもoReです。どうもoReです。2回言ってみました、どうもoReです。 あっ…
今回は、ユーザーフォームを使用して部品在庫管理のアプリ感をだしていきます。
↓現在こんな感じになってます。
が、まだまだ先のお話です。
a様、ありがとうございます。
UserFome× UserForm○ 作成
・UserFome UserForm ユゥーザァフォーム
Userは、『使用者』という意味みたいです。
Fome Formは、『形』という意味みたいです。
ちなみに、
・Fome フォーミー
ポルトガル語で、『空腹』という意味みたいですね。
フォーミーフォーミー言ってたら、誰か飯おごってくれそうですw
ただ、スペインで言ったら殴られそうですw
スペイン語では、『くだらねー』とか『退屈』という意味みたいです。
以下 FomeからFormへ変更してあります。
・VBA内の赤枠内で右クリ→挿入→ユーザーフォーム
ユーザーフォームを挿入できましたか?
ツールボックス内のコマンドボタンをクリックして
ユーザーフォーム上にコマンドボタンを配置しましょう。
コマンドボタンの文字や色は、変更したいコマンドボタンを選択し、
左下のプロパティの所で変更します。
ユーザーフォームも、プロパティで好きにカスタマイズできます。
UserForm Show
・Show ショォゥ
Showは、『みせる』という意味みたいです。
作成したユーザーフォームを表示してみましょう。
VBA内のSheet1(データベース)をダブルクリックすると、
前回作成した在庫管理入出庫プログラムが表示されます。
プログラムの一番下の所に、ユーザーフォームを表示させるプログラムを追加します。
Sub Hyouzi()
UserForm1.Show
End Sub
↓こんな感じです。
Sub Hyouzi()
ユーザーフォーム1を表示する
End Sub
Sub プロシージャ名()
実行プログラム
End Sub
プロシージャ名とは、プログラム名みたいなものです。
※プロシージャ名は、わかりやすい名前をつけましょう。
そしたら、Excel画面に移動し
・デザインモード→挿入→ボタン(フォームコントロール)
をクリックしてExcel上にボタンを挿入します。
挿入すると、作成したマクロ名(プロシージャ名)が一覧に表示されるので、
先ほど作成した在庫管理用のユーザーフォームを表示させるプロシージャ名を選択し
OKをクリックします。
デザインモードを解除して、今作成したボタンをクリックしてみましょう。
作成した在庫管理用のユーザーフォームが表示されましたか?
※ボタンのテキストを変更する場合は、
ボタン上で右クリ→テキストの編集で変更できます。
図形にマクロの登録
Excelで図形を使用したりしますよね?
その図形をボタンとして使うこともできるようです。
・図形を挿入→図形上で右クリ→マクロの登録→作成したマクロ名(プロシージャ名)
を選択してOKをクリックする。
TextBox
・TextBox テェクストゥボォクス
Textは、『文字』という意味みたいです。
Boxは、『箱』という意味みたいです。
バーコードデータをセルA1に入力していましたが、
ユーザーフォーム上にバーコードデータを入力するようにします。
ツールボックス内のテキストボックスをクリックし、
ユーザーフォーム上にテキストボックスを配置します。
UserForm上のCommand Buttonへプログラム移行
前回作成したプログラムは、Sheetモジュールでプログラミングし、
Excelシート上で入出庫処理していました。
今回は、ユーザーフォーム上で入出庫処理させたいので
ユーザーフォームにプログラミングしていきます。
・ユーザーフォーム上のコマンドボタン1をダブルクリックします。
ユーザーフォームのコードに、自動でコマンドボタン1クリックの
プロシージャが作成されます。
Sheet1(データベース)に書いたコマンドボタン1クリックの
コードをコピーします。
ユーザーフォームのコマンドボタン1クリックのプロシージャに貼り付けます。
コマンドボタン2も同様に作成したください。
作成後、Sheet1(データベース)に書いたコードは消してください。
※フォーム表示プロシージャは消さないように。
あと、Excelシート上のコマンドボタンも消してください。
※デザインモードにすることを忘れずに。
在庫管理入出庫プログラム手直し
現在、検索対象がセルA1となっています。
Set Knskcell = Range("C:C").Find(what:= Range("A1"), lookat:=xlWhole)
なので、セルA1の所をテキストボックス1へ変更します。
Set Knskcell = Range("C:C").Find(what:= TextBox1, lookat:=xlWhole)
ユーザーフォームを表示させ、テキストボックスに
バーコードデータを入力して動作確認してみてください。
ちゃんと入出庫できてますか?
まとめ
ユーザーフォームを作成すると、『アプリ感』増し×2になりますよね!?(笑)
どんどんカスタマイズしていきましょう。
次回 入出庫履歴がほしいね
コメント
わざとだとは思いますが、「UserForm」を「UserFome」と表記するなら、プログラムの「UserForm」も「Fome」にした方が分かりやすいと思います。動かないと思いますが、、、
a様
はじめまして。
コメントありがとうございます。
>UserFome
確認しました。
いつからFomeなんだろうwww
大変助かります!!