エクセルシートへの書込み

「書込み」ボタンのプロシージャにエクセルシートへの書込みのプログラムを作成致しましょう。
1.書込みボタンのプロシージャを表示:
 コードウィンドウにユーザーフォームが表示されていなければ前に説明致しましたように、プロジェクトのフォームフォルダーの「UserForm1」をダ ブ ルクリックするとコードウィンドウにユーザーフォームを表示させることができます。
1)「書込み」ボタンを右クリックし、メニューの「コードの表示」クリックします。図1
2)「書込み」ボタン(コマンドボタン1)のプロシージャ画面が表示されます。図2
3)このプロシージャにエクセルの表に書き込むプログラムを作成します。
 皆様が下表に手入力を行なおうとする場合、表を上から見て行き、空白の行を見つけ出して書き込むはずです。人の場合はこの作業を意識せずに瞬間的に行な い書込みを行ないますが、プログラムではこの空白を見つけるという作業をさせなければなりません。
 この作業を行なわせるプログラムを組むのに次のように行ないます。
繰り返し文(For ~ Next)で表の最初の行から検索を行い、空白の行が見つかれば(条件分岐文)そこに書き込み(実行文)後、「Exit For」で繰り返し作業を止めさせます。図3
プログラムは以下のようになります。
図4
適当にデータを入力し、動作の確認を行なってみましょう。
エクセルシートへの書込みは行えますが、「入力開始」ボタンをクリックしてフォームを表示させた際と同様に下記の問題点に気づかれると思います。
①エクセルシートに書込みを実施した後、テキストボックスに書き込まれているデータがそのまま残っています。
連続して次の学生の情報を入力する場合にはテキストボックス内のデータの消去を行なう必要があります。
②Tabが「書込み」ボタンに止まっている状態(ボタンの外周部に破線が表示されている状態) なので、次のデータを入力するときにはマウスで「学生名」のテキストボックスに移動させる必要があります。
連続して他の学生のデータ入力する場合は採点月は同じ月での入力のため(月の入力は不要)、今回はテキストボックス3に「SetForcus」させます。
③皆様も経験されているかと思いますが入力作業中に保存を行なう前に停電等でパソコンが止まってしまったりして上書き保存できずに終わることがあります。
そのためにエクセルに書き込む(書込 みボタンをクリック)度に保存を行なわせるのが良いですよね。
その保存指示命令語として「Save」を使用します。
上記3点の問題点解消のため次のように追記しましょう。
図5
エクセルシートに書き込まれた数値などの書式は、通常の「セルの書式設定」で設定ください。
図7
一人目の書込み以降のフォーム内のデータの消去、及びカーソルの位置は次のようになるでしょう。
図6
第一の入力作業の流れのように採点情報がすべて集まったところで入力を行なう場合のプログラムは以上のように簡単な方法で済みます。
第二の入力作業の流れのように採点の都度入力を行なおうとする場合には、これらのプログラムへの追加修正が必要となります。
次ページでその追加修正の方法の説明を行ないます。

  
次ページへ

サイドバータイトル
inserted by FC2 system