作業ブックのシート名「審査」に
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
Sheets("真北").Visible = [L27] = "有"
Sheets("角地").Visible = [L28] = "有"
Application.ScreenUpdating = True
End Sub
のコードを設定しております。
このコードは
指定セルをプルダウン選択で等で「有」にした場合に
非表示シートが表示されるように設定しております。
シート名「審査」にコード設定は変わらず、
このコードを下記のように、指定セル値を違うシートに変更しました、
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
Sheets("角地").Visible = Sheets("1").[I26] = "有"
Sheets("真北").Visible = Sheets("1").[I30] = "有"
Application.ScreenUpdating = True
End Sub
しかし、シート名「1」のセル「I26」「I30」をプルダウン選択で「有」に変更しても各非表示シート「真北」「角地」が上手く表示されません。
解決方法を教えてください。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは
諸々、#1様に同感ではありますが、コード内での問題点を挙げておきます
#1様がご指摘されている所は直した方が良いです
タイプが面倒とか身に着けてしまった悪習のであれば、後々必ず困ると思いますので・・
Application.EnableEvents = True はイベント発生の抑止をやめるものです
反対にApplication.EnableEvents = False はイベント発生を止めるコードです
Application.ScreenUpdating = True はスクリーン更新の抑止をやめるものでApplication.ScreenUpdating = False は更新を抑止するものです
使い方がでたらめになっていますので、もしかしたら
テスト中もしくは、他のコード内でApplication.EnableEvents = False
のまま終了しており、
Private Sub Worksheet_Change(ByVal Target As Range)イベントが
発生していないのではないでしょうか。
イミディエイトウィンドウに
Application.EnableEvents = True をコピペ Enterキーで実行するか
sub test ()
Application.EnableEvents = True
end sub
上記プロシージャを実行して シートの値を変えてみてください
*Application.EnableEvents・Application.ScreenUpdating などについて
検索などをして理解を深める事をお勧めいたします
No.1
- 回答日時:
こんにちは
前の質問にも書いたけれど、変更するのではなくてシート1のシートモジュールに記載すれば良いだけです。
なお、Eval自体あまりお勧めできるものではありませんが、
>Sheets("1").[I26]
は、アラビア数字とローマ数字をごちゃ混ぜに書いているようなものなので、やめた方が良いでしょう。
せめて
Sheet(1).Range("I26")
とするか
[シート名!I26]
のどちらかかと。
とは言っても、シートモジュールに記載するのですから、いずれにしろシートの指定は不要になります。
簡単なセンテンスですし、内容が複雑というわけでも無いので、このぐらいを理解できないでVBAを使うのは、かなり危ない気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA 別シートからのコ...
-
最終行の指定について教えてく...
-
Excel VBA リンク先をシート...
-
IFステートの中にWithステート...
-
エクセルで通し番号を入れてチ...
-
ユーザーフォームに入力したデ...
-
Excel VBAシートの色を一気に変...
-
エクセル VBA 処理スピードを上...
-
【エクセル】オプションボタン...
-
【ExcelVBA】全シートのセルの...
-
別のシートから値を取得するとき
-
VBA 存在しないシートを選...
-
VBA 検索して一致したセル...
-
ExcelのVBAでのグラフ操作について
-
エクセルのマクロで実行時エラ...
-
VBA ユーザーフォーム上のチェ...
-
【再質問】該当するデータを書...
-
Vba UserformからExcelシートの...
-
マクロを使って、シート印刷完...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
別のシートから値を取得するとき
-
実行時エラー'1004': WorkSheet...
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
ブック名、シート名を他のモジ...
-
同じ作業を複数のシートに実行...
-
エクセルのシート名変更で重複...
-
VBAで指定シート以外の選択
-
VBAで同じシート名のコピー時は...
-
シートが保護されている状態で...
-
ExcelのVBAのマクロで他のシー...
-
実行時エラー1004「Select メソ...
-
IFステートの中にWithステート...
-
Worksheet_Changeの内容を標準...
-
【Excel VBA】Worksheets().Act...
-
VBA 存在しないシートを選...
おすすめ情報