SSブログ

Excel2000 VBA 範囲指定した範囲のみに入力出来るようにし、保護セルは選択出来なくする [Excel2000 VBA独習]

Excel2000 VBA 範囲指定した範囲のみに入力出来るようにし、保護セルは選択出来なくする

マクロを作った理由
ちょとだけ、入力作業を他の人に依頼する時、他のセルをいじられたくないから。
依頼する事はめったにないけど、作っておくと便利かな程度の物。

 

選択できなくしたセルを選択するには、シート保護を解除する。

注意点、次回開いた時には従来通りセル選択はできてしまうので、毎回この状態を再現するのであればスタートアップのマクロを記述する必要があり。
Sub auto_open() ’サンプル
 '保護を有効にする
    Worksheets("sheet1").Protect UserInterfaceOnly:=True ’シート名指定
' 保護(ロック)されたセルは選択不可にする
    Worksheets("sheet1").EnableSelection = xlUnlockedCells
 End Sub


 

Sub 選択範囲の入力を許可しロックセルの選択を不可にする()
'
'InputBoxで入力を許可する範囲を指定し保護(ロック)を解除と背景色設定
'保護(ロック)されたセルは選択不可にする

Dim myInbox, cel As Range

'エラーinputboxデcancelが押されたら
    On Error GoTo cancel
'シートの保護解除
    ActiveSheet.Unprotect
'範囲取得
    Set myInbox = Application.InputBox("入力を許可する範囲を選択してください", "選択範囲のみ入力出来るようにする。", Type:=8)
'範囲のロック解除と背景色設定
    For Each cel In myInbox
        cel.Locked = False
        'cel.Interior.Color = RGB(208, 208, 255)
        cel.Interior.ColorIndex = 20
    Next
'保護を有効にする
    ActiveSheet.Protect UserInterfaceOnly:=True
' 保護(ロック)されたセルは選択不可にする
    ActiveSheet.EnableSelection = xlUnlockedCells     '
  
cancel:
    Set myInbox = Nothing
End Sub
 


タグ:Excel2000 VBA
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。