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
Note:上記のコードでは、文字 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
Note:上記のコードでは、番号 5 日付が配置されている列番号です。111111」は、このシートを保護するためのパスワードです。 必要に応じて変更できます。
3。 次に、このコードウィンドウを保存して閉じます。
(1.)セルの日付が経過したをクリックすると、セルを編集できないことを通知するプロンプトボックスが表示されます。スクリーンショットを参照してください。
(2.)行のセルをクリックして、今日の日付または将来の日付の値を変更しようとすると、正常に変更されます。スクリーンショットを参照してください。
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!