|
Junさん、こんにちは。
このコードでは、セルに値を入力するたびに、入力規則を設定してしまいます。
同じセル範囲に、同じ入力規則を何度も設定するのは、あまり意味がないと思います。
例えば、BOOKをOPENしたとき→Private Sub Workbook_Open()等に設定する。
それと、保護されたシートに入力規則を設定することは出来ません。
一旦、解除して→ActiveSheet.Unprotectを加える。
終了時、再度保護→ActiveSheet.Protectとする。
例)BOOKをOPENした時のコード
Private Sub Workbook_Open()
With Worksheets("Sheet1") '←適宜Sheet名を変更して下さい
.Unprotect
.Cells.Locked = False
.Range("1:1").Locked = True
With .Range("e:e").Validation
.Delete
.Add Type:=xlValidateWholeNumber, _
AlertStyle:=xlValidAlertInformation, _
Formula1:="5", Formula2:="10"
.ErrorTitle = "整数値"
.ErrorMessage = "入力できるのは、5 から 10 までの値です。"
End With
.Protect
End With
'↓入力後にセルを上へ移動する場合この4行も記述
With Application
.MoveAfterReturn = True
.MoveAfterReturnDirection = xlUp
End With
End Sub
これをThisWorkbookモジュールに貼り付けて試してみて。
尚、シート保護時のパスワードは設定していません。
|
|