Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9570 / 76738 ←次へ | 前へ→

【72729】条件に合わせて行を表示・非表示させたい
質問  トウジ  - 12/9/10(月) 23:51 -

引用なし
パスワード
   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オブジェクトの定義がエラーです」となり処理ができません。
お手数ですが、アドバイスをお願いいたします。

0 hits

【72729】条件に合わせて行を表示・非表示させたい トウジ 12/9/10(月) 23:51 質問
【72730】Re:条件に合わせて行を表示・非表示させたい kanabun 12/9/11(火) 8:50 発言
【72731】Re:条件に合わせて行を表示・非表示させたい kanabun 12/9/11(火) 8:57 発言
【72770】Re:条件に合わせて行を表示・非表示させたい トウジ 12/9/18(火) 13:29 お礼

9570 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free