作業ブックのシートに
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
途中省略
If Range("$ER$3").Value = "■" Then
Call Accessシート表示
End If
End Sub
を設定しております。
指定セルに「■」が表示されるとマクロ「Accessシート表示」が実行されるのですが、
作業の中で、マクロ「Accessシート非表示」を実行して「シート名:Access」を非表示にした後、
同じシートの指定セル以外のセルを変更した場合にもマクロ「Accessシート表示
」が実行されてAccessシート表示が表示されてしまいます。
マクロ「Accessシート非表示」を変更して、一度、シート名:Accessを非表示にした後は、手動で表示にしない限り、このシートを非表示出来る方法があれば教えてください。
現状のマクロ
Sub Accessシート非表示()
Worksheets("Access").Visible = False
End Sub
以上となります。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
プルダウンならばWorksheet_Changeイベントは発生しますので
#2様の回答で良いと思います
BAは既に回答されているので追記の部分の説明です
私の回答は >表示される を 深読みしたもので(現状もトリガーを特定していないから)
数式の解で表示した場合 Worksheet_Changeイベントが発生しないと記憶しているためのものです
If Range("$ER$3").Value = "■" Then
Call Accessシート表示
End If
If Range("$ER$3").Value = "■" Then 部分に条件
Target(変更されたセル)がER3セルである
を加えればよい事になります
途中省略があるので
1行ですが
If Not Intersect(Range("ER3"), Target) Is Nothing And Target.Value = "■" Then Call Accessシート表示
とか
If Target.Address = "$ER$3" And Target.Value = "■" Then Call Accessシート表示
とかでも同様の処理になるかと・・・思います
いずれにしても
問題解決に 非表示プロシージャを触る必要は無いのではという事ですね
詳しく説明していただきましてありがとうございます。
№2の方と合わせて、設定しまして、上手くできました。
ありがとうございます。
No.6
- 回答日時:
こんにちは
ご質問文の文字通りの内容を実現するなら・・
1)どこかのセル(できれば非表示シートや、非表示セルが望ましい)を
フラグとして設定しておく。
2)マクロから対象シートを非表示にした際には、フラグをセットする。
3)対象シートを表示するマクロは全て、フラグを参照してセットされて
いる場合には表示しないように変更しておく。
4)対象シートの「表示イベント」でフラグをクリア。
といった仕組みすることで可能と思います。
とは言え、想像するところ、こんなつぎはぎ的なことをしなくても、整理さえすれば「やりたいこと」を実現するスマートな方法はありそうに思います。
(何がどうなっているのか不明なので、当方にはよくわかりませんけれど・・)
No.5
- 回答日時:
読み返ししたら
コピペしたので Call Accessシート表示 となっていますが
Call Accessシート非表示 ですかね・・
やっぱり変ですね
> 手動 で表示にしない限り、
であれば Call Accessシート表示は不要です(最もコード書いてないけど)
いつ非表示にするかわかりませんが
Private Sub Workbook_Open()
Worksheets("Access").Visible = False
End Sub
だけで
Worksheet_Changeイベントで
Worksheets("Access").Visible = True は不要?
No.3
- 回答日時:
こんにちは
ご質問の内容には矛盾があり理解できませんが おそらく
Accessシート非表示の内容を変更するのではなく
If Range("$ER$3").Value = "■" Then
Call Accessシート表示
の条件を考察するべきでしょう
文中に
>指定セルに「■」が表示されるとマクロ「Accessシート表示」が実行される
とあるので セルER3には 数式が入っているものと推測します
Worksheet_Changeイベントは数式による変更をトリガーしなかったと思うので
この数式の条件セル(入力される参照元セル)が変更されたときに
現状条件とTarget.Address条件を加えてCall Accessシート表示を実行すれば
例えばER3セルに入っている数式 =IF(AA3="","","■")
AA3も数式の場合は参照元をトレースで入力元セルを見つけてください
If Target.Address(0, 0) = "AA3" And Range("$ER$3").Value = "■" Then
Call Accessシート表示
End If
>同じシートの指定セル以外のセルを変更した場合にもマクロ「Accessシー>ト表示」が実行されてAccessシート表示が表示されてしまいます。
この処理は発生しないと思います
>一度、シート名:Accessを非表示にした後は
この 一度 の条件がどの様なものなのかわかりませんが
>手動で表示にしない限り、このシートを非表示出来る方法があれば教えてください。
ならば、
If Range("$ER$3").Value = "■" Then
Call Accessシート表示
End If
を消せばよい事になりますね
推測もありますので参考程度で
No.2
- 回答日時:
少し質問の意味が読み取りにくいですが、もしER3セルが「■」に変更された時だけ、「Accessシート表示」処理を呼びたいなら、以下のようにされてはどうでしょうか。
Intersectは複数の範囲の積集合を求めるメソッドです。意味が違っていたらごめんなさい。
Private Sub Worksheet_Change(ByVal Target As Range)
Set insect = Application.Intersect(Range("ER3"), Target)
If insect Is Nothing Then
' 何もしない
Else
If Range("ER3").Value = "■" Then
Call Accessシート表示
End If
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2024/03/18 17:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2024/03/05 09:03
- Visual Basic(VBA) ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面 3 2023/12/14 16:10
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/06 13:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/13 09:23
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
フォントについて教えてください!
みなさんの一番好きなフォントは何ですか? よく使うフォントやこのフォント好きだなあというものをぜひ教えてください!
-
【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
【お題】 ・ありそうだけど、絶対に無いことわざを教えてください。
-
自分の通っていた小学校のあるある
進学したり大人になってから、「あれって自分の小学校だけだったのかな」と思うことありますよね。 逆に「他の小学校ってそんなことするの!?」と思ったり。 そんな「自分の通っていた小学校」のあるあるを教えてください!
-
冬の健康法を教えて!
温度変化が大きくなり、風邪をひきやすいこれからの季節。 どんなことに気をつけていますか?
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
エクセルのVBAコードについて教えてください。
Visual Basic(VBA)
-
マクロの記録を使用したマクロの実行について
Visual Basic(VBA)
-
-
4
VBAコードについて教えてください。
Visual Basic(VBA)
-
5
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
6
久しぶりのプログラミング
Visual Basic(VBA)
-
7
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
8
VBA指定行削除
Visual Basic(VBA)
-
9
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
10
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
11
VBAでCOPYを繰り返すと、処理が途中でアイドルする原因はなんでしょうか
Visual Basic(VBA)
-
12
Excel(M365) Vlookup/セル反転(VBA)について
Visual Basic(VBA)
-
13
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
14
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
15
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
16
WORD VBA プログラム修正をお願いします。
Visual Basic(VBA)
-
17
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
18
エクセルVBAについて
Visual Basic(VBA)
-
19
エクセルVBA
Visual Basic(VBA)
-
20
vba 削除
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】オートフィルターに...
-
Visual Basic(VBA) レポート作...
-
【VBA】 結合セルに複数画像と...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】インデックスが有...
-
VBA Application.Matchについて...
-
VBA 同じフォルダ内のすべての...
-
vba Windowオブジェクト(Window...
-
[Excel VBA]特定の条件で文字を...
-
【ExcelVBA】5万行以上のデー...
-
【VBA】値を変更しながら連続で...
-
Excelの数式について教えてくだ...
-
エクセルでCDOを使ったメール送...
-
Excel 範囲指定スクショについ...
-
ExcelのVBAコードについて教え...
-
エクセルのマクロについて教え...
-
[VB.net] ボタン(Flat)のEnable...
-
ExcelのVBAコードについて教え...
-
Excelのマクロについて教えてく...
-
WindowsのOutlook を VBA から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのエラー表示の対処法について
-
VBA 別ブックからコピペしたい...
-
Visualbasicの現状について教え...
-
VBAのループ処理について教えて...
-
Excelのマクロについて教えてく...
-
VBA Application.Matchについて...
-
VBAで特定の文字が入った行をコ...
-
Excelのマクロについて教えてく...
-
修正依頼:【VBA】 結合セルに...
-
VBAでセルの書式を変えずに文字...
-
【ExcelVBA】5万行以上のデー...
-
VBA 2次元配列の出力
-
Excelのマクロについて教えてく...
-
VBA 別ブックから条件に合うも...
-
【VBA】 結合セルに複数画像と...
-
Excel マクロについて詳しい方...
-
【VBA】値を変更しながら連続で...
-
【ExcelVBA】インデックスが有...
-
エクセルvbaの対象セルに色をつ...
-
エクセルのVBAコードについて教...
おすすめ情報
回答ありがとうございます。
詳しく教えて頂きましてありがとうございます。
記者が教えて頂いたコードで再度、質問をさせてください。
例えばER3セルに入っている数式 =IF(AA3="","","■")
AA3も数式の場合は参照元をトレースで入力元セルを見つけてください
とありますが、
ER3に数式では無く、プルダウンで「■」を選択しております。
この場合は、どのようになりますでしょうか、
何度も申し訳ありません。
よろしくお願いいたします。
何時も助けて頂きましてありがとうございます。
勝手ですが、今回の質問とは別に先日より色々と質問を繰り返して、
未だ、未解決な事が有ります。今週末に一度、整理をし、週明けに再度
質問をさせて頂きましと思いますが、助けて頂けますでしょうか。
勝手を言って申し訳ありません。
よろしくお願いいたします。
先にお礼をしてしまいましたので、
改めて
何時も適切なアドバイスをありがとうございます。
助かりました。