フッターコンテンツにスキップ
EXCEL ツール

Excelで行をロックする方法: 必要なことすべて

Iron Softwareのチームによって書かれました


スプレッドシートをスクロールしながらヘッダー行が消える場合、または同僚がキーとなるデータを誤って上書きする場合は、その行をロックする必要があります。 Excelでは、この操作を行うために2つの異なる方法があります。行を凍結してスクロール中に表示され続けるようにし、編集から保護して内容を安全に保ちます。 このガイドは、Excelで行をロックする方法について、ステップバイステップの指示を提供します。 これらの方法は、Microsoft Officeスイートの一部である任意のExcelスプレッドシートで機能します。

シートの一部をスクロール中も表示可能にしておくには、表示タブに移動して"ウィンドウ枠の固定"を選んでください。

最速のアプローチから始めましょう。 *

最も手早い方法: トップ行をワンクリックで固定

単純にヘッダー行をスクロール中も表示され続けるようにしたい場合、これが最速の方法です。 トップ行の固定オプションは、ワークシートの最初の行を固定します。

  1. スプレッドシートをExcelで開きます。
  2. リボンの上部にある表示タブをクリックします。

  3. ウィンドウグループのウィンドウ枠の固定ボタンをクリックします。

  4. ドロップダウンでトップ行の固定を選んで最初の行をロックします。

以上です。 線のグレーの細線が1行目の下に現れ、最初の行が位置に固定されていることを示します。 好きなだけスクロールしても、ヘッダーはそのままの位置に留まります。

Excelで行をロックするには、表示タブに行き、ウィンドウ枠の固定をクリックします。

Excelで行をロックする方法:知っておくべきことすべて:画像1 - ビュータブのリボンが表示され、フリーズウィンドウのドロップダウンが開いている

方法1: リボンを使用して任意の行を固定する(ウィンドウ枠の固定)

"トップ行の固定"は1行目に適用されます。3行目、5行目、または他の任意の行をロックしたい場合は、ウィンドウ枠の固定を使用してください。 複数の行や列を凍結するには、表示し続けたい最後の行の下、最後の列の右のセルを選び、それからウィンドウ枠の固定をクリックします。

手順:

  1. 固定したい行の下をクリックします。 たとえば、1–3行目をロックするには、4行目のどこかをクリックします。また、行と列の両方を凍結したい場合は、凍結したい末尾の行の下、および凍結したい末尾の列の右のセルを選択します。 たとえば、最初の2列を凍結するには、3列目を選択してください。または、最初の列を凍結するには、B列のセルを選択してください。

  2. 表示タブに移動します。

  3. ウィンドウ枠の固定をクリックします。
  4. ドロップダウンの最初のオプションウィンドウ枠の固定を選んでください("トップ行の固定"ではありません)。

列を凍結する方法も同様です: 最初の列を凍結するにはB列を選んでください; 複数の列を凍結するには、凍結したい最後の列の右の列を選択し、それからウィンドウ枠の固定をクリックします。 最後の行や最後の列を凍結することもできます。適切なセルを選び、その状態でスクロール中も他のデータを表示させることができます。

多くのユーザーが、行と列の両方を凍結する際にどのセルを選択するかわからなくなります。 ウィンドウ枠の固定を適用する前に、表示しておきたい領域の下や右の正しいセルを必ず選ぶことが重要です。 これは問題を避け、ウィンドウ枠の固定が正しく適用されるのを確実にします。

Excelは選択した行の上のすべての行と、選択した列の左のすべての列を凍結します。 グレーで示される分割線が、クリックした場所のすぐ上と左に現れます。

凍結解除方法: 表示 → ウィンドウ枠の固定 → 凍結解除に行きます。 このオプションは現在のウィンドウ枠が凍結されている場合にのみ表示されます。

Excelで行をロックする方法:知っておくべきことすべて:画像2 - スプレッドシートでカーソルが4行目に選択され、フリーズウィンドウのドロップダウンが表示されている

方法2: キーボードショートカットで行を固定する

Excelでは、Altキーを使用してウィンドウ枠の固定にアクセスすることができ、全てをキーボードでナビゲートできます。 クイックな解決策を求めるユーザー向けに、以下のキーボード操作によりExcelで行をロックする効率的な方法が提供されています:

トップ行を固定するには:

Alt → W → F → Rを押します(同時ではなく、一つずつ)。

  • Altはリボンのキーのヒントを起動します。
  • Wは表示タブを開きます。
  • Fはウィンドウ枠の固定メニューを開きます。
  • Rは"トップ行の固定"を選択します。

これらのステップはユーザーを効率よく誘導することを目的に設計されています。

特定の行を固定するには:

まず固定したい行の下の行をキーボードで選択(矢印キーまたはCtrl + Gを使用してセルに移動)、その後Alt → W → F → Fを押します。

凍結解除方法:

再度Alt → W → F → Fを押します。 ウィンドウ枠が凍結されると、このオプションは"ウィンドウ枠の固定解除"に切り替わります。

方法3: 編集不可能にするために行をロックする(シート保護)

凍結は行を_表示_されたままにしますが、それが編集されるのを防ぐことはありません。 特定の行の変更を防ぎたい場合は、Excelのシート保護機能が必要です。 以下の情報は、Excelで行を保護するための専門的なガイダンスに基づいています。 これは2段階のプロセスです。

ステップ1: 最初にすべてのセルのロックを解除する

デフォルトでは、Excelのすべてのセルは"ロックされた"とマークされていますが、この設定はシート保護がオンになったときにのみ有効になります。 特定の行だけをロックするには、最初にすべてをアンロックし、次に関心のある行だけを再ロックする必要があります。

  1. Ctrl + Aを押してすべてのセルを選択します。

  2. Ctrl + 1を押してセルの書式設定ダイアログを開きます(または右クリックして"セルの書式設定"を選択)。

  3. 保護タブをクリックします。

  4. "ロック"チェックボックスのチェックを外します

  5. OKをクリックします。

Excelで行をロックする方法:知っておくべきことすべて:画像3 - セルの書式設定ダイアログがプロテクションタブで開かれており、

ステップ2: 保護したい行のみをロックする

  1. ロックしたい行を選択します。 左側の行番号をクリックして行全体を選択します。 Ctrlを押しながら別の行番号をクリックして複数の行を選択します。

  2. 再度Ctrl + 1を押してセルの書式設定を開きます。

  3. 保護タブに移動します。

  4. "ロック"チェックボックスをオンにします。

  5. OKをクリックします。

ステップ3: シート保護を有効にする

  1. リボンのレビュータブに移動します。

  2. シートの保護をクリックします。
  3. 表示されるダイアログで、ユーザーがまだ行える操作を選択します(例:セルの選択、並べ替え、自動フィルターの使用)。
  4. オプションで、他の人が保護を削除できないようにパスワードを入力します。
  5. OKをクリックします。

今、ロックされた行を編集しようとする誰でも、そのセルが保護されていることを示すポップアップが表示されます。

Excelで行をロックする方法:知っておくべきことすべて:画像4 - シートの保護ダイアログが表示され、パスワードフィールドと許可されたアクションのリストが含まれている

保護解除方法: レビュー → シートの保護解除に行き、パスワードが設定されている場合は入力してください。 *

方法4: 右クリックメニューを利用して行をロックする

リボンに触れることなく、同じセルの書式設定の保護設定に到達することができます。

  1. ロックしたい行または行を選択します(行番号をクリック)。
  2. 選択した部分を右クリックします。

  3. コンテキストメニューからセルの書式設定を選択します。

  4. 保護タブをクリックします。

  5. 必要に応じてロックをチェックまたは解除します。

  6. OKをクリックして、レビュー → シートの保護でシートを保護します。

もし既に右クリックメニューを使って作業していて、リボンを操作したくない場合、この方法が便利です。

方法5: VBAマクロを使用して行をロックする

もし行を繰り返しロックするか、複数のファイルでこれを自動化したい場合、VBAマクロは時間を節約します。この方法は、Visual Basicエディタを開くことに慣れた中級ユーザー向けです。

VBAエディタを開くには: Alt + F11を押してください。

プログラム的にトップ行を固定するには:

Sub FreezeTopRow()
    With ActiveWindow
        .FreezePanes = False   ' Clear any existing freeze first
        ActiveSheet.Cells(2, 1).Select
        .FreezePanes = True
    End With
End Sub
Sub FreezeTopRow()
    With ActiveWindow
        .FreezePanes = False   ' Clear any existing freeze first
        ActiveSheet.Cells(2, 1).Select
        .FreezePanes = True
    End With
End Sub
Sub FreezeTopRow()
    With ActiveWindow
        .FreezePanes = False   ' Clear any existing freeze first
        ActiveSheet.Cells(2, 1).Select()
        .FreezePanes = True
    End With
End Sub
$vbLabelText   $csharpLabel

編集を防ぎ、シートを保護するために行をロックするには:

Sub LockRowAndProtect()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ' Step 1: Unlock all cells
    ws.Cells.Locked = False
    ' Step 2: Lock row 1
    ws.Rows(1).Locked = True
    ' Step 3: Protect the sheet (no password in this example)
    ws.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub LockRowAndProtect()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ' Step 1: Unlock all cells
    ws.Cells.Locked = False
    ' Step 2: Lock row 1
    ws.Rows(1).Locked = True
    ' Step 3: Protect the sheet (no password in this example)
    ws.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Option Strict On



Sub LockRowAndProtect()
    Dim ws As Worksheet
    ws = ActiveSheet
    ' Step 1: Unlock all cells
    ws.Cells.Locked = False
    ' Step 2: Lock row 1
    ws.Rows(1).Locked = True
    ' Step 3: Protect the sheet (no password in this example)
    ws.Protect(Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True)
End Sub
$vbLabelText   $csharpLabel

マクロを実行するには: Alt + F8を押し、マクロ名を選択し、実行をクリックしてください。 *

方法6: 同時に行と列を凍結する

Excelでは、行と列の両方を同時に凍結するカスタマイズされたビューを作成することができ、大量のデータセットでヘッダー行とラベル列の両方を表示させたいときに便利です。 よくある質問は、行と列の両方を同時にロックする方法です。これを行うには、表示タブをクリックし、ウィンドウ枠の固定を選んで特定の行と列をその場でロックします。

  1. 凍結したい行と列の交差点にあるセルをクリックします。 たとえば、1行目とA列を凍結するには、セルB2をクリックしてください。

  2. 表示 → ウィンドウ枠の固定 → ウィンドウ枠の固定に行きます。

これで、2行目の上およびB列の左側のすべてが、その場でロックされます。

よくある問題とトラブルシューティング

"ウィンドウ枠の固定"がグレーアウトされる

これは通常、スプレッドシートがページレイアウトビューまたは改ページプレビューにあるときに発生します。 表示 → 通常をクリックして通常のビューに戻してから再度試してください。

フリーズラインが誤った場所に現れる

範囲の中央にあるセルを選択している可能性があります。 フリーズラインを表示したい場所の_下_の正確な行をクリックしてから、ウィンドウ枠の固定を適用してください。

行は表示されているが、ユーザーはまだ編集可能である

凍結は表示にのみ影響し、編集可能性には影響しません。 編集をブロックするには、上記の方法3のシート保護のステップを実行する必要があります。

保護がオンなのにユーザーはロックされた行を編集できる

ステップ1(すべてのセルのロック解除)が完了していることを再度確認してください。 保護前にすべてのセルがロックされていると、設定はすべてを保護することをデフォルトとしますが、これは正しいように見えますが、後で特定の領域の編集を許可しようとするときに混乱を招きます。

シート保護パスワードを忘れた

Excelにはシートパスワード回復ツールが組み込まれていません。 シートの保護を削除できるサードパーティーツールが存在し、古い.XLSファイルでは保護を迂回することができることもあります。シートの内容を新しいワークブックにコピーする方法があります。

他人にファイルを送信するとウィンドウ枠の固定が消える

ウィンドウ枠の固定設定は.XLSX形式のファイルとして保存されます。 受信者がウィンドウ枠が見えない場合、それを誤ってオフにした可能性があります、またはウィンドウ枠をサポートしていないビューアーでファイルを開いた可能性があります。 表示 → ウィンドウ枠の固定を確認するように求めてください。

Excel Online(ブラウザ版)で行をロックする

Web用Excelを使い始めている場合、ウィンドウ枠の固定を使って行をロックできます。 Web用Excelはウィンドウ枠の固定をサポートしており、表示 → 行と列の固定をクリックしてお気に入りのオプションを選択してください。 シート保護もレビュー → シートの保護で利用可能ですが、一部の高度な保護オプションはデスクトップアプリでのみ利用可能です。

ボーナスチップ: パンを分割する vs ウィンドウ枠の固定

ウィンドウ枠の固定とよく混同される機能は分割です。 表示 → 分割の下にあり、Excelウィンドウを別々のスクローラブルなセクションに分割します。同じシートの異なる部分を同時に見ることができます。 ウィンドウ枠の固定と違い、分割は行を一定の位置にロックしません; 単にビューを分割するだけです。 誤ってウィンドウ枠の代わりに分割を適用してしまった場合は、再度表示 → 分割に行ってそれをオフに切り替えてください。 *

開発者向け: IronXLでプログラム的に行をロックする方法

Excelファイルを生成または処理するソフトウェアを構築している場合、UIを介したウィンドウ枠や保護の設定はスケールしません。 IronXLは、C#やVB.NETで行ロック、シート保護、ウィンドウ枠の固定を適用できる.NETライブラリで、Excelのインストールは不要です。

次のコード数行でトップ行を凍結し、編集から保護する方法を示します:

using IronXL;
WorkBook workBook = WorkBook.Load("report.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Freeze the top row
workSheet.CreateFreezePane(0, 1);
// Lock all cells, then unlock the editable range
workSheet.GetRange("A1:Z1").Style.Locked = true;
workBook.Password = "securePassword";
workBook.SaveAs("report-locked.xlsx");
using IronXL;
WorkBook workBook = WorkBook.Load("report.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Freeze the top row
workSheet.CreateFreezePane(0, 1);
// Lock all cells, then unlock the editable range
workSheet.GetRange("A1:Z1").Style.Locked = true;
workBook.Password = "securePassword";
workBook.SaveAs("report-locked.xlsx");
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("report.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Freeze the top row
workSheet.CreateFreezePane(0, 1)
' Lock all cells, then unlock the editable range
workSheet.GetRange("A1:Z1").Style.Locked = True
workBook.Password = "securePassword"
workBook.SaveAs("report-locked.xlsx")
$vbLabelText   $csharpLabel

IronXLは、OpenXML形式の複雑さを取り扱いますので、心配いりません。 レポート、エクスポート、またはテンプレートを大規模に生成するチームにとって、行ロックを数百のファイルにわたって一貫して適用する必要がある場合には特に便利です。 *

まとめ: どの方法を使用すべきですか?

| 目標 |最適な方法| |---|---| |スクロール中もヘッダー行を表示させ続ける|表示 → トップ行の固定| |スクロール中も複数の行を表示し続ける|下の行をクリックし、ウィンドウ枠の固定| |誰も行を編集できないようにする|セルの書式設定 → ロック + シートの保護| |リボンに触れずに作業する|右クリック → セルの書式設定| |複数のファイルを自動化する|VBAマクロ| |プログラムファイル生成| IronXL (.NET) |

Excelで行をロックすることは、2つの質問に帰着します:_表示されたままにしたいですか、または_変更されずにしておきたいですか? 特定の行や列を凍結すると、残りのデータがスクロール中も視覚的に見やすくなり、大きなスプレッドシートの操作が楽になります。 ヘッダーを凍結すると、スクロール中も見出しが表示され続け、データ分析が強化され、データ入力精度が向上します。 ウィンドウ枠の固定は前者を、シートの保護は後者を解決します。 これらを合わせて使用すると、スプレッドシートが自分自身や共有する相手にどのように機能するかを完全にコントロールできます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね