- ベストアンサー
Excel2010の部分的な行制御(追加)に関する質問
- Excel2010で特定の行に対して、新規追加を不可にし、データの編集を可能にする方法を教えてください。
- また、行の一部に対しては新規追加やデータの編集を許可するシートの保護方法についても知りたいです。
- VBやマクロを使用せずにパスワードを設定せずに行の制御を行う方法があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
普通に設定のみでは難しいですね。 質問には「20行目位」や「11行目から」があってよく分かりませんが、「1~10行には行が挿入できない」として考えました。下記マクロの「myProtect」を「True」にすると質問のような保護(のような動き)をします。これをシート側に出して、マクロで参照すれば操作性は上がるでしょう。基本的には「UnDo」をしています。 8~12行目のように10行目までをまたいだ挿入もできません。考え通りの動きをするか確かめてください。1~10行目を削除すると新たな1~10行目が制約の対象になります。挿入に制約があって、削除に制約がないのは?ですね。 シートのコードウィンドウに貼り付けます。 Const myProtect As Boolean = True 'Trueにしたら保護有効 Dim TargetRng As Range '選択したセル Dim TargetAdr As String '選択したセルのアドレス Sub Worksheet_SelectionChange(ByVal Target As Range) Set TargetRng = Target '選択範囲を記憶 TargetAdr = Target.Address End Sub Sub Worksheet_Change(ByVal Target As Range) If myProtect = True Then If Not TargetRng Is Nothing Then If Intersect(Target, Range("1:10")) Is Nothing Then Exit Sub On Error Resume Next If TargetAdr <> TargetRng.Address Then If Err.Number = 0 Then Application.EnableEvents = False Application.Undo 'UnDo Application.EnableEvents = True End If End If On Error GoTo 0 End If End If End Sub
お礼
nishi6さん ありがとうございます。 やはり、設定では難しいのですね。。。 マクロを参考にしてやってみます。 色々とありがとうございました。