![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
下記の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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
左右の表のキー位置を合わせたい
Visual Basic(VBA)
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
VBA一覧取得 再投稿
Visual Basic(VBA)
-
-
4
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
5
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
6
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
7
エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれ
Visual Basic(VBA)
-
8
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
9
エクセルについて
Visual Basic(VBA)
-
10
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
11
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
12
VBA指定行削除
Visual Basic(VBA)
-
13
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
14
vba 削除
Visual Basic(VBA)
-
15
VBAなくなるの?
Visual Basic(VBA)
-
16
VBAコードのインデント表示
Visual Basic(VBA)
-
17
Excel関数またはVBAでの質問になります
Visual Basic(VBA)
-
18
エクセルの合計を自動で表示させたいです
Visual Basic(VBA)
-
19
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
20
VBAの質問になります Userform内で
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでファイルオープン後にコー...
-
エクセルVBAの作成方法
-
access2003 クエリSQL文に...
-
UWSCでMOUSEORG関数が上手く処...
-
vba スライサー
-
videopadについて
-
ACCESS2007で環境依存文字へのR...
-
JANコードとPOSコードは同じ?
-
フィルターかけた後、重複を除...
-
まちがっているところ
-
ペンダントライトのコードの色...
-
JavaScriptの定数名が取り消し...
-
Visual BASIC イベント作成しよ...
-
PreviewKeyDownイベントが2回...
-
なぜシフトJISにロシア語がある...
-
シートを複数選択し自動印刷し...
-
CString のGetAt で正しく文字...
-
Accessの文字列部分一致を合計...
-
変数名「cur」について
-
アセンブリ言語で変数を正しく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
フィルターかけた後、重複を除...
-
IF文、条件分岐の整理方法
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
変数名「cur」について
-
COBOLの文法
-
エクセルに見えない文字(JISX0...
-
PreviewKeyDownイベントが2回...
-
sinカーブの表示のさせ方
-
ACCESSユニオンクエリでORDER B...
-
オートフィルタで抽出結果に 罫...
-
Nullの使い方が不正です。
-
【VB6】実行ファイルとした後、...
-
SQL
-
特定行の背景色を変えたいのですが
-
VBAでファイルオープン後にコー...
おすすめ情報