'========================================================================================= ' 090 入力規則やメッセージを保護・削除する '----------------------------------------------------------------------------------------- '【ヒント】 ' タイトル機能に関係するマクロは、UserForm1のコードにあります。 ' この標準モジュールのマクロは、おためし機能の動作用のコードです。 '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------- Sub おためしマクロ() UserForm1.Show vbModeless 'ユーザーフォームをモードレスで表示する End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '----------------------------------------------------------------------------------------- '========================================================================================= ' ◆UserForm1のコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim セル範囲 As String Dim 入力値の種類 As Long Dim データ範囲 As Long Dim 最小値 As Variant Dim 最大値 As Variant Dim 入力タイトル As String Dim エラータイトル As String Dim 入力メッセージ As String Dim エラーメッセージ As String Dim 日本語入力 As Long '----------------------------------------------------------------------------------------- Private Sub OptionButton1_Click() ActiveSheet.Protect Password:="Validation" '◆◆◆ シートを保護する Range("E10").Select End Sub '----------------------------------------------------------------------------------------- Private Sub OptionButton2_Click() ActiveSheet.Unprotect Password:="Validation" '◆◆◆ シート保護を解除する Range("E10").Select End Sub '----------------------------------------------------------------------------------------- Private Sub OptionButton3_Click() 入力規則を設定する 'おためし用に用意したコード End Sub '----------------------------------------------------------------------------------------- Private Sub OptionButton4_Click() Application.ScreenUpdating = False Range("E10").Select ActiveSheet.Unprotect Password:="Validation" Range("E10").Select '◆◆◆ クリアするセルを選択する 入力規則をすべてクリアする '◆◆◆ ActiveSheet.Protect Password:="Validation" End Sub '----------------------------------------------------------------------------------------- Private Sub UserForm_Deactivate() Unload Me End Sub '----------------------------------------------------------------------------------------- Private Sub 入力規則をすべてクリアする() '◆◆◆ With Selection.Validation .Delete .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ :=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .InputMessage = "" .IMEMode = xlIMEModeNoControl .ShowInput = True .ShowError = True End With End Sub '----------------------------------------------------------------------------------------- Private Sub 入力規則を設定する() Application.ScreenUpdating = False '画面を更新しない ActiveSheet.Unprotect Password:="Validation" 'シート保護を解除する セル範囲 = "E10" '対象セルを指定する 入力値の種類 = xlValidateWholeNumber データ範囲 = xlBetween '次の値の間 最小値 = 1 '入力データの最小値 最大値 = 5 '入力データの最大値 入力タイトル = "入力お願い" エラータイトル = "入力エラー" 入力メッセージ = "1〜5 の範囲内で" エラーメッセージ = "1〜5 までしか入力できません" 日本語入力 = xlIMEModeOff 'オフ(英語モード) Range(セル範囲).Select With Selection.Validation .Delete .Add Type:=入力値の種類, AlertStyle:=xlValidAlertStop, _ Operator:=データ範囲, Formula1:=最小値, Formula2:=最大値 .IgnoreBlank = True .InCellDropdown = True .InputTitle = 入力タイトル .ErrorTitle = エラータイトル .InputMessage = 入力メッセージ .ErrorMessage = エラーメッセージ .IMEMode = 日本語入力 .ShowInput = True .ShowError = True End With ActiveSheet.Protect Password:="Validation" End Sub '=========================================================================================