メインコンテンツへスキップ

背景色に基づいてセル値を保護またはロックする方法は?

大きなワークシートがあり、複数のセルが異なる背景色で塗りつぶされているとします。次に、すべてのセルを赤色でロックまたは保護するなど、特定の塗りつぶされた色に基づいてセルをロックまたは保護します。 Excelでこのタスクを処理するための良い方法はありますか?

VBAコードを使用して、背景色に基づいてセル値を保護またはロックします


矢印青い右バブル VBAコードを使用して、背景色に基づいてセル値を保護またはロックします

たとえば、すべての赤血球をロックして保護したいのですが、他のユーザーがこれらのセル値を変更できないようにするために、次のVBAコードでこのジョブを解決できます。次のようにしてください。

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:色に基づいてセル値を保護またはロックします。

Sub lockcellsbycolor()
'Updateby Extendoffice
    Dim colorIndex As Integer
    colorIndex = 3
    Dim xRg As Range
    Application.ScreenUpdating = False
    For Each xRg In ActiveSheet.UsedRange.Cells
        Dim color As Long
        color = xRg.Interior.colorIndex
        If (color = colorIndex) Then
            xRg.Locked = True
        Else
            xRg.Locked = False
        End If
    Next xRg
    Application.ScreenUpdating = True
    MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub

Note:上記のコードでは、番号 3 中で カラーインデックス = 3 スクリプトは、ロックしたい赤い色のセルを示しています。ロックしたい他のカラーインデックスに変更できます。

3。 次に、 F5 このコードを実行するためのキーで、赤い色のセルのみがロックされ、他のセルはアクティブシートの使用範囲でロック解除されます。スクリーンショットを参照してください。

色1によるドキュメントロックセル

4。 他のユーザーによる変更から保護したい場合は、 保護シート このワークシートを保護する機能。

ヒント:カラーインデックス番号を取得するには、次のユーザー定義関数を適用できます。

Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour, y a t il une astuce quand la feuille est protégée d utiliser le panel des couleurs dans l onglet accueil pour mettre un fond de couleur sur les cases non protégés merci
This comment was minimized by the moderator on the site
How do you run this in a loop, so that all cells in all sheets that are not the specific color will be protected?
This comment was minimized by the moderator on the site
Can this be applied to a sheet with merged cells and can it recognize a cell color that is based on conditional formatting? I want to lock cells that are color code 15 and those cells are color code 15 based on a conditional format. Thank you in advance.
This comment was minimized by the moderator on the site
Bonjour,
j'aurais voulu savoir si il était possible de faire la même chose mais avec la valeur de la cellule plutôt que la couleur?
Par exemple: Verrouiller toutes les cellules dont la valeur est "-" de la plage B2:E25.

Merci d'avance
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations