【VBA】データ転記マクロ(体温記録)
◇前置き
「同じようなデータを毎日入力する」
そんな仕事ってありませんか?
今回は私が使い回しているデータ転記マクロを紹介します。
かなり汎用性の高いマクロなのですが、今回は例として体温記録用シートにして紹介します。
◇概要
こんなシートを用意しました。
日付と各自の体温を入力して、転記ボタンを押すと隣の記録エリアにデータが転記されます。
既にデータが入っているところはそのままに、どんどんデータが溜まっていく仕様です。
◇ソースコード
肝心のソースコードはこんな感じです。
Public Sub DataMove() Dim i As Integer If Range("D4") = "" Then MsgBox "日付を入力してください" Exit Sub End If '日付データをコピーする Range("D4").Select Application.CutCopyMode = False Selection.Copy For i = 1 To 4 '転記先の最終行を探す Range("H1000000").End(xlUp).Offset(1, 0).Select '日付データを貼り付ける Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, _ Transpose:=True Next '名前と体温のデータをコピーする Range("C7:D10").Select Application.CutCopyMode = False Selection.Copy '転記先の最終行を探す Range("I1000000").End(xlUp).Offset(1, 0).Select '名前と体温のデータを貼り付ける Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, _ Transpose:=False '転記後の入力エリアを空にする Range("D4,D7:D10").Select Selection.ClearContents MsgBox "データ転記が完了しました" End Sub
お好みでポカヨケを入れることができます。
今回はシンプルに日付が未入力だった時に、メッセージが出るようにしてみました。
◇使い方
実際に動かしてみましょう。
まずは日付と各自の体温データを入力します。
この状態で転記ボタンを押すと.......
無事、データが転記されました!
◇最後に
見た目がシンプルになるように、体温記録シートにして紹介しましたが、様々な作業に流用することで、簡単にデータを蓄積することができます。
蓄積したデータはそのまま加工しても良いですし、データベースに取り込んでしまっても良いです。
今回は分かりやすいように、すぐ隣にデータ転記する仕様でしたが、別シート・別ファイルに転記することも可能です。
色んなところで使って貰えると嬉しいです。