|
Sub 条件から列を表示・非表示()
i = msg1 '(※2:項目1,3:項目2,4:項目3,5:項目4,7:項目5)
msg1 = InputBox("条件はどれですか?2:項目1,3:項目2,4:項目3,5:項目4,7:項目5", Title:="タイトル1")
Select Case msg1
Case 2
msg2 = InputBox("○から", Title:="○から?")
msg3 = InputBox("○まで", Title:="○まで")
Do
j = msg2
k = msg3
x = i - 2
y = i - x
w = i + 5 - x
If j <= Sheets(1).Cells(i, "D") And Sheets(1).Cells(i, "D") <= k Then
Rows("y:w").Hidden = False
Else
Rows("y:w").Hidden = True '表示しない 行(i-x)から行((i+5)-x)"
End If
i = i + 6
Loop Until Sheets(1).Cells(i, "D").Value = ""
Case 3
msg2 = InputBox("○から(小数点1位まで)", Title:="○から?")
msg3 = InputBox("○まで(小数点1位まで)", Title:="○まで")
<case2と同様のDo〜Loop>
Case 4
msg2 = InputBox("○から(0〜100の範囲)", Title:="○から?")
msg3 = InputBox("○まで(0〜100の範囲)", Title:="○まで")
<case2と同様のDo〜Loop>
Case 5
msg2 = InputBox("○から(1〜10)", Title:="○から?")
msg3 = InputBox("○まで(1〜10)", Title:="○まで")
<case2と同様のDo〜Loop>
Case 7
msg2 = InputBox("○から(1〜10)", Title:="○から?")
msg3 = InputBox("○まで(1〜10)", Title:="○まで")
<case2と同様のDo〜Loop>
End Select
End Sub
msg1のインプットボックスで入力した数字により場合分けして、msg2とmsg3のインプットボックスに入力した数字の条件に当てはまる場合に行を表示、当てはまらない場合は行を表示しないようにしたいのです。しかし、コンパイルの段階では問題ないのですが、実際に起動すると、msg3まで数字を入力したところで、「アプリケーションの定義orオブジェクトの定義がエラーです」となり処理ができません。
お手数ですが、アドバイスをお願いいたします。
|
|