作業ブックのシートに
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も見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
2024年に成し遂げたこと
今年も残すところわずか。 皆さんが今年達成したことを教えていただきたいです。 どんな小さなものでも構いません。
-
集合写真、どこに映る?
あなたが集合写真を撮られるとき、画角のどのあたりにいることが多いですか? 私は振り返ってみると右の端にいることが多い気がします。
-
冬の健康法を教えて!
温度変化が大きくなり、風邪をひきやすいこれからの季節。 どんなことに気をつけていますか?
-
エクセルのマクロについて教えてください。
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に数式では無く、プルダウンで「■」を選択しております。
この場合は、どのようになりますでしょうか、
何度も申し訳ありません。
よろしくお願いいたします。
何時も助けて頂きましてありがとうございます。
勝手ですが、今回の質問とは別に先日より色々と質問を繰り返して、
未だ、未解決な事が有ります。今週末に一度、整理をし、週明けに再度
質問をさせて頂きましと思いますが、助けて頂けますでしょうか。
勝手を言って申し訳ありません。
よろしくお願いいたします。
先にお礼をしてしまいましたので、
改めて
何時も適切なアドバイスをありがとうございます。
助かりました。