- ベストアンサー
エクセルでの行ごとの保護
エクセルで1行ごとに情報を入れていきます。 どんどん行が増え情報が溜まっていきますが、消されては困るので行を保護したいと考えます。 そこで各行の先頭に保護(数字でも構いません)と入力するとその行だけ保護されるということはできませんでしょうか。 マクロもよく分からない初心者です。よろしくお願い致します。
- みんなの回答 (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
お礼
ありがとうございました。 書かれている通りに行いましたらできました。