質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

ダイアログ

ユーザーにウィンドウやボックス等の形で個別で表示されるフォームであり、ユーザーに判断を促す目的で表示される。ユーザーが見逃す事のないよう、操作中のフォーム上にポップアップして表示される。

Q&A

解決済

2回答

19754閲覧

EXCELでVBAのダイアログをアクティブセルのすぐ横に表示したい

menshan

総合スコア54

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

ダイアログ

ユーザーにウィンドウやボックス等の形で個別で表示されるフォームであり、ユーザーに判断を促す目的で表示される。ユーザーが見逃す事のないよう、操作中のフォーム上にポップアップして表示される。

0グッド

2クリップ

投稿2018/01/31 11:38

Excel 2016 にてダイアログを作成、標準モジュールに以下のコードを作成し、このプロシージャをマクロのオプション設定で CTRL+Q で起動するようにします。

VBA

1Sub Show_SelectWindow() 2 UserForm1.StartUpPosition = 0 '手動 3 UserForm1.Left = Selection.Left + Selection.Width + Application.Left 4 UserForm1.Top = Selection.Top + Application.Top 5 UserForm1.Show 6End Sub

これでワークシート上でCTRL+Qを押すと、左右はシートの行数表示の列分左に、上下は期待より大分上に表示されてしまいます。
また、デフォルトで画面の見えていないセル「Z50」などで CTRL+Q すると左下の見えないところに表示しているようです。
どのようにすれば以下の様にピタリとアクティブセルの横に表示できるのでしょうか?
イメージ説明

OKボタン処理にはリストボックスの選択項目をワークシートに反映する以下のコードを記述しています。

VBA

1Private Sub CommandButton1_Click() 2 Dim Values As String 3 4 For i = 0 To ListBox1.ListCount - 1 5 If ListBox1.Selected(i) = True Then 6 If Values <> "" Then Values = Values + "," 7 Values = Values & ListBox1.List(i) 8 End If 9 Next i 10 Selection.Value = Values 11 Unload Me 12End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

表示したい位置のセルをアクティブにして、アクティブセルの座標を求めてその位置からの相対で表示位置を指定します。

以下をアクティブセルの位置に表示するための参考に。
ユーザーフォームをアクティブセルの位置に表示

投稿2018/01/31 16:07

sazi

総合スコア25300

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

menshan

2018/02/01 02:09

ありがとうございます、まさにこれです。 「Z50」セルにスクロールして表示させてもきちんと表示されました。
guest

0

VBA

1 With [Form] 2 .StartUpPosition = 0 '表示位置を指定する設定 3 .Left = [セルの右:セルのLeft + Witdh] 4 .Top = [セルの上:セルのTop] 5 .Show 6 End With

投稿2018/02/01 01:59

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

menshan

2018/02/01 02:12

回答ありがとうございます。 sazi さんの方法で実現できましたのでご報告します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問