データを入力するVBA

データをシートに追加するには、データ一覧の最終行を探し、その次の行に入力したい値を入力していきます。
項目数が10個を超えると、横スクロールしなければならず、きちんと入力するにしても効率的に入力するにしても、あまりいいことではありません。
そのような状況で何百もデータを入力し続けるのは怖くないでしょうか。
せめて入力さえ簡単になってれば・・・。
と思い、本当に簡単なものですけど、VBAを作りました。
というよりほとんどマクロの記録です。

データ追加の仕組み

まず、次のような項目があります。

この場合、入力しやすい画面を考えるとこのような形のウィンドウを隣に作ればいいのではないでしょうか。

セルF1には、次の計算式を入れ、自動で今日の日付が求まるようにします。

=TODAY()

この入力窓から入力したら、一覧表の一番下の次の行に内容が入力されればよいのです。
そのために、次のような一時的に入力データを1行にまとめておけるエリアを用意します。

セルE6にはつぎの計算式が入力されています。

=F1

セルF6にはつぎの計算式が入力されています。

=F2

セルG6にはつぎの計算式が入力されています。

=F3

このE6からG6までの範囲を、一覧表の最終行の次の行に、書式と値のコピーし、コピーが終わったらF2からF3の範囲をクリアすればよいのです。

VBA

その動作を次のVBAで自動化します。対象セルなどは、ケースに合わせて書き換えてください。

Sub データ追加()
Dim 行 As Integer行 = WorksheetFunction.CountA(Range(“A:A”)) + 1
Range(“E6:G6”).Select
Selection.Copy
Range(“A” & 行).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range(“F2:F3”).Clear
End Sub

最終行の次の行はA列全体のデータ個数を数え、それに1を足した行です。
E6からG6に範囲を選択し、コピーします。
A列の指定した行を選択して、形式を選択して貼り付け、書式と値の、をします。
F2とF3のセル内容をクリアします。

マクロの呼び出し口

値を入力した後、いちいち表示タブ、マクロ、マクロの実行をするのは面倒です。
そこで、マクロの呼び出し口を作ります。
次のようなテキストボックスを挿入します。

挿入したら右クリックして、マクロの登録をクリックして、データ追加マクロを登録します。
これで完成ですので、実際にデータを入力してみましょう。

コメント

タイトルとURLをコピーしました