プロが教える店舗&オフィスのセキュリティ対策術

作業ブックのシート名「省エネ質疑」
に下記のコードを設定しております。
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("F設計").Visible = [$F$18] = "フラット設計審査_標準計算"
Sheets("F設計").Visible = [$F$18] = "フラット設計審査_仕様基準"
End Sub
セル「F18」に"フラット設計審査_標準計算"又は"フラット設計審査_仕様基準"
が表示されると
非表示シート名「"F設計"」が表示されるように設定しておりますが、
セル「F18」に"フラット設計審査_仕様基準"を表示させたときは非表示シート「"F設計"」が表示されますが
セル「F18」に"フラット設計審査_標準計算"を表示させたときは非表示シート「"F設計"」が表示されません。
文字等の確認は全て問題ありません、
又、
一つ一つ
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("F設計").Visible = [$F$18] = "フラット設計審査_標準計算"
End Sub
又は
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("F設計").Visible = [$F$18] = "フラット設計審査_仕様基準"
End Sub
を設定するとそれぞれ上手、非表示シートが表示されます。
両方のコードを設定すると上手く行きません。
この問題を解決できる方法を教えてください。
宜しくお願い致します。

A 回答 (2件)

・Worksheet_Change イベントを無効化


Application.EnableEvents = False

・Worksheet_Change イベントをを再開
Application.EnableEvents = True

場合によってはこれ大事かもしれない。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせて頂きます。

お礼日時:2024/03/19 17:14

こんばんは



右辺を
 [$F$18] = "フラット設計審査_標準計算"
みたいなことにしているから、2回同じ様な設定を上書きしちゃってます。
きちんとIFで場合分けして、True/False を一回で設定すればよいでしょう。
    • good
    • 1
この回答へのお礼

回答ありがとうございました。
少し調べてみます。

お礼日時:2024/03/19 17:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A