
下記の2つのVBAコードを一つにまとめる方法を教えてください。
下記のコードは以前教えて頂いたコードを少しアレンジして作成しております。
1つ目のコードは
セル「F18」に各「昇降機_エレベーター」「昇降機_エスカレーター」「昇降機_ダムウエーター」
「昇降機_いす式昇降機」のいずれかが表示された場合に、非表示シート「昇降機第2号様式」が表示又は、「F18」の各表示がなければ「昇降機第2号様式」が非表示となります。
2つ目のコードも同じく
セル「F18」に各「昇降機_エレベーター」「昇降機_エスカレーター」「昇降機_ダムウエーター」
「昇降機_いす式昇降機」のいずれかが表示された場合に、非表示シート「昇降機第2号様式」が表示又は、「F18」の各表示がなければ「昇降機第5号様式」が非表示となります。
このコードを
「F18」に各「昇降機_エレベーター」「昇降機_エスカレーター」「昇降機_ダムウエーター」
「昇降機_いす式昇降機」のいずれかが表示された場合に、非表示シート「昇降機第2号様式」と「昇降機第5号様式」の2つのシートが表示又は、「F18」の各表示がなければが非表示となるように出来る方法を教えてください。
1つ目のコード
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("F18") = "昇降機_エレベーター" Or _
Range("F18") = "昇降機_エスカレーター" Or _
Range("F18") = "昇降機_ダムウエーター" Or _
Range("F18") = "昇降機_いす式昇降機" Then
Sheets("昇降機第2号様式").Visible = xlSheetVisible
Else
Sheets("昇降機第2号様式").Visible = xlSheetHidden
End If
2つ目のコード
If Range("F18") = "昇降機_エレベーター" Or _
Range("F18") = "昇降機_エスカレーター" Or _
Range("F18") = "昇降機_ダムウエーター" Or _
Range("F18") = "昇降機_いす式昇降機" Then
Sheets("昇降機第5号様式").Visible = xlSheetVisible
Else
Sheets("昇降機第5号様式").Visible = xlSheetHidden
End If
End Sub
以上となります。
宜しくお願い致します。
No.2
- 回答日時:
解決しているようなので、蛇足的な回答ですが。
以下のような書き方もあるということで。
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("F18").Value
Case "昇降機_エレベーター","昇降機_エスカレーター", _
"昇降機_ダムウエーター","昇降機_いす式昇降機"
For Each WS In _
Worksheets(Array("昇降機第2号様式", "昇降機第5号様式"))
WS.Visible = True
Next
Case Else
For Each WS In _
Worksheets(Array("昇降機第2号様式", "昇降機第5号様式"))
WS.Visible = False
Next
End Select
End Sub
参考サイト
https://www.relief.jp/docs/excel-vba-or-statemen …
https://daitaideit.com/vba-sheet-hidden/#mokuzi4
No.1
- 回答日時:
以下のようにしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("F18") = "昇降機_エレベーター" Or _
Range("F18") = "昇降機_エスカレーター" Or _
Range("F18") = "昇降機_ダムウエーター" Or _
Range("F18") = "昇降機_いす式昇降機" Then
Sheets("昇降機第2号様式").Visible = xlSheetVisible
Sheets("昇降機第5号様式").Visible = xlSheetVisible
Else
Sheets("昇降機第2号様式").Visible = xlSheetHidden
Sheets("昇降機第5号様式").Visible = xlSheetHidden
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1日に1人がこなせるプログラム...
-
access2003 クエリSQL文に...
-
JANコードとPOSコードは同じ?
-
access でエラーを回避するには?
-
COBOLの文法
-
フィルターかけた後、重複を除...
-
UWSCでMOUSEORG関数が上手く処...
-
VBAでファイルオープン後にコー...
-
ホワイトノイズの生成コードに...
-
1、Rstudioで回帰直線を求める...
-
2つのチェックボックスを制御
-
ExcelVBAの転記について
-
PreviewKeyDownイベントが2回...
-
Exel VBA 別ブックから該当デ...
-
差し込み後、元データを変更し...
-
select文のwhere句に配列を入れ...
-
for whichの使い方
-
特定の文字列で列を区切るには?
-
エクセルで最後の文字だけ置き...
-
Access:クエリーにて集計後に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
access2021 VBA メソッドまたは...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
エクセルに見えない文字(JISX0...
-
変数名「cur」について
-
access2003 クエリSQL文に...
-
Excelシート上で右クリックがで...
-
【VB6】実行ファイルとした後、...
-
COBOLの文法
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
C# コードビハインドについて
-
JIPS-Eコードのコード表について
-
Nullの使い方が不正です。
-
PreviewKeyDownイベントが2回...
-
VBAでファイルオープン後にコー...
-
ユーザーフォームに2つのコン...
-
ACCESSユニオンクエリでORDER B...
おすすめ情報