• ベストアンサー

エクセルでの行ごとの保護

エクセルで1行ごとに情報を入れていきます。 どんどん行が増え情報が溜まっていきますが、消されては困るので行を保護したいと考えます。 そこで各行の先頭に保護(数字でも構いません)と入力するとその行だけ保護されるということはできませんでしょうか。 マクロもよく分からない初心者です。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

まず最初に「シート全体を選択(Ctrl+A)」→「シートを右クリック」→「セルの書式設定」→「保護タブ」→「ロックのチェックを外す」を行ってください。 次に以下のマクロを「シート名タブを右クリック」→「コードの表示」で表示される画面(VBE画面)に貼り付けます。貼り付けたらそのVBE画面は閉じて構いません。 シート画面に戻ってA列に「保護」と入力してみてください(「」は不要)。するとその行が保護されているはずです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim r, rng As Range  Set rng = Intersect(Target, Columns(1))  If Not rng Is Nothing Then   If ActiveSheet.ProtectContents = True Then    ActiveSheet.Unprotect   End If   For Each r In rng    If r.Value = "保護" Then     r.EntireRow.Locked = True    Else     r.EntireRow.Locked = False    End If   Next r   ActiveSheet.Protect DrawingObjects:=True, Contents:=True  End If End Sub

TomoGoo66
質問者

お礼

ありがとうございました。 書かれている通りに行いましたらできました。

関連するQ&A