Excel VBA 質問スレッド №2032 (未解決)

スクロール

投稿者 : 石川     投稿日時 : 2024/10/22(Tue) 10:24:34     OS : Windows 11     EXCEL : Excel 2021
MSGボックスガ表示されているときに、エクセルをスクロールしたい。

スポンサーリンク
[返信 1] Re : スクロール
投稿者 : らたたた     投稿日時 : 2024/10/22(Tue) 10:45:42
ユーザーフォームでメッセージを出せばいいんじゃないですか

[返信 2] Re : スクロール
投稿者 : higeru     投稿日時 : 2024/10/22(Tue) 15:00:06
もしメッセージの要因となったセルが見えるようにスクロールしたい、ということなのであれば、

Application.Goto 当該セル、True

としてからメッセージを出す、というのもありかと。

[返信 3] Re : スクロール
投稿者 : 石川     投稿日時 : 2024/10/23(Wed) 11:38:31
■[返信 2] higeruさん(2024-10-22 15:00:06)の記事
> もしメッセージの要因となったセルが見えるようにスクロールしたい、ということなのであれば、

> Application.Goto 当該セル、True

> としてからメッセージを出す、というのもありかと。


ご回答ありがとうございます。ただ、確認したい箇所が複数ありますので、スクロールする必要があります。

[返信 4] Re : スクロール
投稿者 : anonymous     投稿日時 : 2024/10/30(Wed) 08:29:01
> MSGボックスガ表示されているときに、エクセルをスクロールしたい。
MsgBox表示中は閉じるまでユーザーアクセスは無視される仕組みなので、無理です。

既に指摘があるようにMsgBoxの代わりにUserFormを使用し、
Modeless指定で開くことにより、
Excel本体に対するユーザー操作が同時に可能となります。

コードはこんな感じ。

<<標準モジュール>>
Public flag As Boolean
Sub test()
    flag = False
    
    'MsgBoxの代わりに、要件をラベルに書いたUserFormを表示させる
    UserForm1.Show vbModeless   'vbModeless指定することにより、
                                'UseForm実行中に画面操作(セル操作も含む)が可能となる
    
    Do Until flag = True       'FlagがTrueになるまでループすることにより、それ以降の処理実行を待機させる
        DoEvents
        DoEvents
    Loop
    '以下に、次の処理を書く
    MsgBox "終了"             '単なる例
End Sub

<<UserFormモジュール>>
'UserFormには、
'・ラベルコントロールを置き、メッセージを表示しておく。
'・コマンドボタンコントロールを置き、
' スクロールを使った確認が終了したらコマンドボタンを押してUserFormを終了させることを促す

Private Sub CommandButton1_Click()
    Unload UserForm1
    flag = True
End Sub
'直接閉じられても支障ないようにしておく。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    flag = True
End Sub

以上

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-05 17:47:40 )
タイトルとURLをコピーしました