Excelで日付に基づいてセルを保護する方法は?
通常、他の人がセル値を編集または変更するのを防ぐためにワークシートを保護できますが、日付に基づいてセルを保護する必要がある場合もあります。 たとえば、他のセルを保護したいのですが、次のスクリーンショットのように今日の日付のセル値のみを変更できるようにします。この記事では、日付に基づいてセルを保護する方法について説明します。
今日の日付行を除くすべての行をVBAコードで保護します
今日の日付に等しい行のみを変更できるようにします。次のコードが役立ちます。次のようにしてください。
1。 日付に基づいてセルを保護するシートタブを右クリックし、を選択します コードを表示 コンテキストメニューから、ポップアウトで アプリケーション向け Microsoft Visual Basic ウィンドウで、次のコードをコピーして空のモジュールに貼り付けてください。
VBAコード:今日の日付行を除くすべての行を保護します:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub
注意:上記のコードでは、文字 E 日付が配置されている列ヘッダーです。111111」は、このシートを保護するためのパスワードです。 必要に応じて変更できます。
2。 次に、このコードウィンドウを保存して閉じます。
(1.)今日の日付行を超えて他のセルをクリックすると、セルを編集できないことを通知するプロンプトボックスが表示されます。スクリーンショットを参照してください。
(2.)クリックして、今日の日付に等しい行を編集すると、正常に変更されます。スクリーンショットを参照してください。
日付が経過したすべての行をVBAコードで保護します
日付が過ぎたすべての行を保護する必要がある場合は、今日と将来の日付行のみを変更できるようにしてください。次のVBAコードを適用してください。
1。 日付に基づいてセルを保護するシートタブを右クリックし、を選択します コードを表示 コンテキストメニューから、ポップアウトで アプリケーション向け Microsoft Visual Basic ウィンドウで、次のコードをコピーして空のモジュールに貼り付けてください。
VBAコード:すべての行を保護する日付が過ぎました:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub
注意:上記のコードでは、番号 5 日付が配置されている列番号です。111111」は、このシートを保護するためのパスワードです。 必要に応じて変更できます。
3。 次に、このコードウィンドウを保存して閉じます。
(1.)セルの日付が経過したをクリックすると、セルを編集できないことを通知するプロンプトボックスが表示されます。スクリーンショットを参照してください。
(2.)行のセルをクリックして、今日の日付または将来の日付の値を変更しようとすると、正常に変更されます。スクリーンショットを参照してください。
最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!






























