ボタン一つでデータを自動入力&保護!エクセル作業をスマートにするマクロ

エクセル

こんにちは、エクセルを日々活用している皆さん!

今日は、ボタン一つで日付・時刻・カウントを自動的に入力し、さらにそのデータを安全に保護するマクロを紹介します。

エクセル操作をもっと簡単に、そしてミスを防ぎたい方にピッタリのツールですよ!

マクロのポイントをチェック!

このマクロ、何がすごいって、ボタンをクリックするだけで、次の空いている行に日付と時刻を自動入力し、前回のカウント値を元にカウントアップまでしてくれるんです。

それだけじゃなく、入力したデータは自動的にロックされるので、誤って編集してしまう心配もなし!簡単な操作で、複雑な管理が一気に楽になります。

下の表の日付、時間、番号の欄に自動入力するのを例に紹介します。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法

1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.「新規作成」をクリック

3.コード入力画面が開く

マクロコードを解説!

さあ、次にマクロコードを見てみましょう。使い方はシンプル、でも効果はバツグンです。

コードを入力

赤枠部のコードです。

    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long

    ' シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更してください

    ' シートの保護を解除
    ws.Unprotect Password:="0" ' 必要に応じてパスワードを設定してください

    ' 最後の行を取得
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

    ' 次に入力するセルを決定
    Dim nextRow As Long
    nextRow = lastRow + 1

    ' 日付、時刻、カウントを入力
    ws.Cells(nextRow, 1).Value = Date
    ws.Cells(nextRow, 2).Value = Time

    ' カウントの処理
    If IsNumeric(ws.Cells(nextRow - 1, 3).Value) And ws.Cells(nextRow - 1, 3).Value > 0 Then
        ws.Cells(nextRow, 3).Value = ws.Cells(nextRow - 1, 3).Value + 1
    Else
        ws.Cells(nextRow, 3).Value = 1
    End If

    ' すべてのセルのロックを解除(編集可能にする)
    ws.Cells.Locked = False

    ' 既存のすべての日付、時刻、カウントのセルをロック
    For i = 2 To nextRow
        If ws.Cells(i, 1).Value <> "" Then ws.Cells(i, 1).Locked = True
        If ws.Cells(i, 2).Value <> "" Then ws.Cells(i, 2).Locked = True
        If ws.Cells(i, 3).Value <> "" Then ws.Cells(i, 3).Locked = True
    Next i

    ' シートを再度保護
    ws.Protect Password:="0", AllowFormattingCells:=True ' 必要に応じてパスワードを設定してください

コードを入力したら、コードの入力画面を閉じて下さい。

このマクロができること

  1. 日付と時刻を自動入力
    ボタンをクリックするだけで、次の空いている行にその日の日付と現在時刻が自動的に入力されます。毎回手動で入力する手間が省けるので、入力ミスの心配もなくなります。
  2. カウントアップも自動で
    さらに、このマクロは前回のデータをもとにカウントを自動で1ずつ増やしてくれます。これにより、複数回の操作が必要な作業も、ワンクリックでスムーズに進行。
  3. データを自動でロック
    そして、入力したデータが自動的にロックされるので、誤って編集してしまうことも防止できます。これで、データの保護もバッチリ!

ボタンができたら、ボタンをクリック

ボタンができたら、ボタンをクリックします。

日付、時間、番号が自動入力された!

ボタンを繰り返し押すと、次々に自動入力!

入力済のセルはロックされ、編集不可!

間違えて上書きしてしまう事もありません。

赤枠部がロックされたセルです。

空欄のセルには入力可能!

でももしロックを解除したいなら・・・

「校閲」→「シート保護の解除」→「パスワード入力」で解除可能!

今回のコードでは「0」で解除できます。

ロック解除したセルは編集可能!

再度ボタンを押すと、自動入力され、セルはロックされる

これなら再ロック忘れもありません。

まとめ: エクセル作業をもっとスマートに

このマクロを使えば、日常的なデータ入力や管理作業が劇的に効率化されます。

ボタン一つでデータの入力と保護ができるなんて、エクセルマスターもびっくりの便利さ!

これで、日々のエクセル作業がもっとスムーズになり、余った時間を有効活用できるはず。

ぜひ試してみてくださいね!

コメント

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