• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのチェックボックスでの行の表示の切り替え)

エクセルのチェックボックスで行の表示を切り替える方法

このQ&Aのポイント
  • エクセルでチェックボックスを使用して行の表示を切り替える方法について教えてください。
  • チェックボックス1のON-OFFで行11-20の表示を切り替える方法や、チェックボックス2のON-OFFで行10-19の表示を切り替える方法を教えてください。
  • ActiveXのチェックボックスを使用してエクセルで行の表示を切り替える方法について詳しく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

何をしたいのかというと? ご相談で書かれたこと: CB3をチェックしたとき, CB1にチェックの時は11-20を非表示に,offの時は10-20を非表示に CB2がチェックの時は10-19を非表示に,offの時は10-20を非表示に ご相談のそもそも問題点: 例えばCB1にチェックしても,CB2が非チェックなので最終的には10-20が非表示になってしまう。 あるいはCB1と2が両方チェックされてたらどうしたいの? 加えて >チェックボックス3のON-OFFで行10-20を非表示と表示に切り替え ONのとき隠すというご説明ですが,マクロは逆の動作になっている。 例えばの作成例: 10行目は,CB3がチェック,CB1がノーチェックのときに隠す 20行目は,CB3がチェック,CB2がノーチェックのときだけ隠す 11-19行はCB3がチェックで隠す private sub CheckBox3_Click()  rows("10:10").hidden = checkbox3.value and not checkbox1.value  rows("11:19").hidden = checkbox3.value  rows("20:20").hidden = checkbox3.value and not checkbox2.value end sub チェックしたら隠すのか見せるのかなど,動作が意図と違う部分は自力で応用してみて下さい。

esesanta
質問者

お礼

回答ありがとうございます。 こういうやり方もあるのですね! とても参考になりました。

その他の回答 (1)

回答No.1

単純に考えて、 Private Sub CheckBox1_Click()  If CheckBox1 = True Then   Range("11:20").EntireRow.Hidden = False  Else   Range("11:20").EntireRow.Hidden = True  End If End Sub Private Sub CheckBox2_Click()  If CheckBox2 = True Then   Range("10:19").EntireRow.Hidden = False  Else   Range("10:19").EntireRow.Hidden = True  End If End Sub Private Sub CheckBox3_Click()  If CheckBox3 = True Then   Range("10:20").EntireRow.Hidden = False  Else   Range("10:20").EntireRow.Hidden = True  End If End Sub こういうことでしょうかね?

esesanta
質問者

補足

すいません説明不足でした。 チェックボックス3のチェックを入れた時に チェックボックス1と2の状態を判別して非表示にする 行を変えたいと考えています。 よろしくお願いします。