2016年10月06日
エクセル(Excel)技,VBA,,フォーム
マイクロソフトアクセスはこちら
人気ブログランキングへ
![](http://blogranking.fc2.com/ranking_banner/b_02.gif)
![](https://www22.a8.net/svt/bgt?aid=161005971493&wid=001&eno=01&mid=s00000016301001029000&mc=1)
![](https://www15.a8.net/0.gif?a8mat=2NUX03+85IQ0I+3HS2+64JTD)
・フォームの作成
データベース等を作成して、エクセルシート上で入力用のセル等を作成する場合があると思います。
しかし、エクセルシート上に入力セルを設置すると、後でそのセルを移動したい場合、
大変なことになる場合があります。
プログラム(VBA)上でそのセル記述をすべて変更する必要があるからです。
例えばRange(“A1”)を入力用セルに設定して、そこに入力された値をデータベースに
取り込むようなVBAを組んでいるとします。
どうしてもシートの配置・バランス等々の理由でA2に移動したいと思います。
そうするとVBA上のA1という記述をすべてA2に変更しなければなりません。
VBAの記述が少ない場合は若干の修正で済むと思いますが、
VBAの記述が多い場合は大変です。(まあ検索・置換を使用する手もありますが)
そのようなことがないように入力用のフォームというのを作成できます。
リボンの「開発」でVBAを開き「挿入」で「ユーザーフォーム」をクリックします。
![フォーム1.png](/yoshimatsuex/file/undefined/E38395E382A9E383BCE383A01-thumbnail2.png)
下記のような画面になりましたか
![フォーム2.png](/yoshimatsuex/file/undefined/E38395E382A9E383BCE383A02-2219b-thumbnail2.png)
真ん中あたりに点々がいっぱいある四角の枠がユーザーフォームです。
その横に「ツールボックス」ということで「コントロール」が色々あります。
その中から「テキストボックス」を選んでフォーム上に配置すれば入力用の
テキストボックスになります。またそれ以外にも「ラベル」とか「ボタン」とか
「チェッボックス」とか用意されています。
少しこのフォームを使って練習してみましょう。
![フォーム3.png](/yoshimatsuex/file/undefined/E38395E382A9E383BCE383A03-b1d46-thumbnail2.png)
上記のエクセルの部分に「担当者一覧」というタブに23名分の担当者名と
部・課・性別・入社日のデータベースがあります。
そこに新規入力するために先ほど作ったフォームにテキストボックス・ラベルを各5つ、
ボタンを1つ配置して、それぞれ名前を付けてみました。
![](https://www20.a8.net/svt/bgt?aid=160908586603&wid=001&eno=01&mid=s00000009041005009000&mc=1)
![](https://www12.a8.net/0.gif?a8mat=2NSTUY+9Z0EK2+1XRE+TTLOX)
![](https://www26.a8.net/svt/bgt?aid=160908586620&wid=001&eno=01&mid=s00000000404005055000&mc=1)
![](https://www12.a8.net/0.gif?a8mat=2NSTUY+A94RUA+348+U3GMP)
人気ブログランキングへ
![](http://blogranking.fc2.com/ranking_banner/b_02.gif)
![](https://www15.a8.net/0.gif?a8mat=2NUX03+85IQ0I+3HS2+64JTD)
・フォームの作成
データベース等を作成して、エクセルシート上で入力用のセル等を作成する場合があると思います。
しかし、エクセルシート上に入力セルを設置すると、後でそのセルを移動したい場合、
大変なことになる場合があります。
プログラム(VBA)上でそのセル記述をすべて変更する必要があるからです。
例えばRange(“A1”)を入力用セルに設定して、そこに入力された値をデータベースに
取り込むようなVBAを組んでいるとします。
どうしてもシートの配置・バランス等々の理由でA2に移動したいと思います。
そうするとVBA上のA1という記述をすべてA2に変更しなければなりません。
VBAの記述が少ない場合は若干の修正で済むと思いますが、
VBAの記述が多い場合は大変です。(まあ検索・置換を使用する手もありますが)
そのようなことがないように入力用のフォームというのを作成できます。
リボンの「開発」でVBAを開き「挿入」で「ユーザーフォーム」をクリックします。
![フォーム1.png](/yoshimatsuex/file/undefined/E38395E382A9E383BCE383A01-thumbnail2.png)
下記のような画面になりましたか
![フォーム2.png](/yoshimatsuex/file/undefined/E38395E382A9E383BCE383A02-2219b-thumbnail2.png)
真ん中あたりに点々がいっぱいある四角の枠がユーザーフォームです。
その横に「ツールボックス」ということで「コントロール」が色々あります。
その中から「テキストボックス」を選んでフォーム上に配置すれば入力用の
テキストボックスになります。またそれ以外にも「ラベル」とか「ボタン」とか
「チェッボックス」とか用意されています。
少しこのフォームを使って練習してみましょう。
![フォーム3.png](/yoshimatsuex/file/undefined/E38395E382A9E383BCE383A03-b1d46-thumbnail2.png)
上記のエクセルの部分に「担当者一覧」というタブに23名分の担当者名と
部・課・性別・入社日のデータベースがあります。
そこに新規入力するために先ほど作ったフォームにテキストボックス・ラベルを各5つ、
ボタンを1つ配置して、それぞれ名前を付けてみました。
![](https://www12.a8.net/0.gif?a8mat=2NSTUY+9Z0EK2+1XRE+TTLOX)
![](https://www12.a8.net/0.gif?a8mat=2NSTUY+A94RUA+348+U3GMP)
タグ:エクセルフォーム
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/5503171
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック