設定した範囲だけ入力出来るようにする実験 Excel2000 VBA [Excel2000 VBA独習]
ワークシートイベントを使用して、設定した範囲だけ入力出来るようにする実験
参照サイト ttp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=37443;id=excel
シートの保護とか、スクロール範囲とかで入力できるセルを制限してみたが、どれも満足いくものではなかった。
今回試したマクロは十分実用になる。
コピペですけど(以下のコードをワークシートのコード欄に記述)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
With Application
If .Intersect(Target, Range("A1:B10, F1:G10")) Is Nothing _
Then
.EnableEvents = False
.PreviousSelections(1).Select
.EnableEvents = True
Else
.Goto ActiveCell
End If
End With
End Sub
今後の課題として、セル(範囲)に名前をつけ、名前から入力できる範囲を設定する。
早急にやりたいことは、今日の日付行だけ入力出来るようにする。
ワークシートイベントを有効無効、シートの編集をする時は無効にする。
Sub シートイベント有効無効()
’実行する度に有効→無効→有効→
If Application.EnableEvents = False Then Application.EnableEvents = True Else Application.EnableEvents = False
End Sub
コメント 0