![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?000dd5e)
エクセルの入力で、どの行を操作しているのかわかるように、他の方のVBAを参考にして
条件付き書式で
=CELL("ROW")=ROW()
VBAにて
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
こちらを併用して表示しています。
マクロ処理で、画面のチラツキをなくすため、
Application.ScreenUpdating = False
としているのですが、先ほどのWorkbook_SheetSelectionChangeの構文が効いていて
画面の動きが出てしまいます。
マクロ実行中だけ、一時的にWorkbook_SheetSelectionChangeの効力を止める、
もしくは代替の方法はありますでしょうか?
No.2ベストアンサー
- 回答日時:
こんばんは
何だか「風通しを良くするために穴をあけたら、雨や虫が入ってくるんだけれど、どうすれば・・?」みたいな感じですね。
>マクロ実行中だけ、一時的にWorkbook_SheetSelectionChangeの効力を止める
ご質問文の通りにするのなら、EnableEventsプロパティをFalseにしておけばイベントの発生を停止できます。
https://learn.microsoft.com/ja-jp/office/vba/api …
(元の状態(=True)に戻さないと、そのままになりますのでご注意)
でも、これって「穴を塞ぐのに、もう一枚壁を作る」みたいなことになっているような気もしますが。
>もしくは代替の方法はありますでしょうか?
実際になさりたいことがよくわからないので、以下は一般論的になってしまいますけれど・・
ご提示の条件付き書式で色付けなどをするとなると、対象セルに全て条件付き書式を設定しておく必要があるのと、ご提示のイベント処理はブック全体を対象にしていますけれど、全シートで同様のことを行うということなのでしょうか?
通常の状態であれば、ScreenUpdating = True の状態になっているはずですので(マクロから意図的に停止した場合は別ですが)、ご提示の内容のためだけにわざわざマクロを使うのであれば、マクロで対象セルに色付けをしてしまえば済む話のようにも思います。
(条件付き書式を設定する必要がなくなります)
元のセルにいろいろな色が設定してあったりすると、元に戻すためにそれを記録しておく必要が生じるので、多少は面倒になりますが・・
>マクロ処理で、画面のチラツキをなくすため~
「チラツキ」を無くすことが主目的なら、マクロ中の Select や Activate などの構文を無くすような記述法にすること、及び、まとめて結果を記入するなどの方法にすることで、ほとんど無くすことが可能ですし、処理速度も向上するはずです。
(新規のブック、シートなどを作成する場合を除く)
一方で、マクロ実行中にシートへの記入等が発生すると、各種イベントは発生しますので、上記のようにイベントを停止しておかないと処理効率が悪くなります。
(処理の組み合わせが悪ければ、抜け出せなくなります)
(不要なイベント処理を設けなければ、その様な必要も生じませんけれど)
回答ありがとうございました。
SelectやActivateは使っていませんが、行数が100行近くあり、ForNextなどでセルをコピーしている関係上、画面がちらつく等の影響がありました。
丁寧に説明していただきありがとうございます。
同様の回答もありましたが、こちらをベストアンサーと
させていただきます。
No.3
- 回答日時:
自分のところでは、画面のチラつきはありませんね。
ところで…… ’ThisWorkbook’ にマクロを記述していますか?
・・・
=AND(CELL("ROW")=ROW(), CELL("COL")=COLUMN())
で、セルの上下左右の罫線を赤。
=CELL("ROW")=ROW()
で、セルの上下の罫線を赤。
=CELL("COL")=COLUNM()
で、セルの左右の罫線を赤。
これを決まった範囲のセルに対して設定。
間違ってもシート全体なんてことはしません。
マクロは
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = True
End Sub
でやってます。
ByVal Target As Range
↓
ByVal Target As Excel.Range
の違いはありますが……
・・・余談・・・
いっそマクロを無効にして、[F9]キーで強制的に再計算させるという方法もあります。
(´・ω・`) 面倒だけど、入力しているセルを見失わない限り再計算させる必要もないので、
運用方法としてはありですよ。
そもそもこの[F9]キーを押すのが面倒だからマクロで代用しているってだけですから。
「計算方法」を ”手動” にしておけば、さらに良し。
回答ありがとうございました。
言葉足らずで申し訳ありません。
Private Sub Workbook_SheetSelectionChangeはThisWorkbookです。
セルの色塗りの関係もあるため、条件付き書式が妥当と考えています。
条件付き書式も、必要なセルに対して設定しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
screenupdatingが機能しなくて困ってます
Visual Basic(VBA)
-
Application.ScreenUpdatingがならなくなった
Visual Basic(VBA)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
Application.ScreenUpdating=Falseを使うと・・・。
Access(アクセス)
-
6
VBA コードを実行すると画面が真っ白になる
Visual Basic(VBA)
-
7
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
10
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
11
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
12
excel VBAの構文の内容を訳してくださいませ!
PowerPoint(パワーポイント)
-
13
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
14
UserForm1.Showでエラーになります。
工学
-
15
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
16
コンボボックスで選択したものをクリアーしたい(アクセス VBA)
Access(アクセス)
-
17
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
18
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
19
EXCEL VBA 他のアプリケーションからの自動貼り付け
Visual Basic(VBA)
-
20
リンクをアップデートするしないの自動化
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
特定のPCだけ動作しないVBAマク...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
組んだマクロをメールで送る
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
Excel VBAからAccessマクロを実...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
-
マクロで空白セルを詰めて別シ...
-
EXCELマクロでのThisisWor...
-
エクセルのマクロをセルの値に...
-
エクセルマクロでワードの一ペ...
-
VBAでカタカナ→ローマ字の変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
エクセルで別のセルにあるふり...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
【EXCEL VBA】オートシェイプを...
-
ソース内の行末に\\
おすすめ情報