
Excel UserForm を選択セルの右下に表示させたいのです。
皆様こんばんわ。
セル選択を(例)B5:F5とし、右クリックでユーザーフォームを表示させているのですが
最後のセルF5の右下にユーザーフォームの左上がくる様な表示方法はあるのでしょうか?
Set Area = Selection
With UserForm1
.StartUpPosition = 0
.Top = 400
.Left = Area.Left + Area.Width
.Show vbModeless
End With
などと行っていますが、エクセル画面の最大表示とそうでない場合とで表示位置が異なってしまいます。
ウィンドウズのエリアとエクセルのエリアで座標が異なるのかなぁと思いつつ。。。
良いアイデア(?)が浮かびません。
良い方法が御座いましたら
皆様、宜しくご教示願います。
No.3ベストアンサー
- 回答日時:
#1、#2です。
修正しました。これでたぶんどこのセル範囲でも大丈夫だと思います。
なお画面の右の方だったり下のほうだったりした時にユーザーフォームが切れるのは直していませんので悪しからず。
----------------
Sub test()
Dim x As Long
Dim y As Long
Dim str As String
Dim rng As Range
Dim adr As String
str = Selection.Address
If InStr(str, ":") = 0 Then
adr = str
Else
adr = Mid(str, InStr(str, ":") + 1, Len(str) - InStr(str, ":"))
End If
Set rng = Range(adr).Offset(1, 1)
x = ActiveWindow.PointsToScreenPixelsX(0) * 72 / 96 + rng.Left * ActiveWindow.Zoom / 100
y = ActiveWindow.PointsToScreenPixelsY(0) * 72 / 96 + rng.Top * ActiveWindow.Zoom / 100
Load UserForm1
With UserForm1
.StartUpPosition = 0
.Left = x
.Top = y
End With
UserForm1.Show
End Sub
昨日の今日で。。お忙しい中、完璧なご回答をありがとう御座いました♪
さらりと書いてあるコードですが、全く思いつく所が無く感服しております。
また別質問する際は宜しくお願い致します<(_ _)>
ご覧頂いてご検討して頂いた方々もいらっしゃるかと思いますが
ありがとうございました。
No.2
- 回答日時:
#1です。
先ほどのコードで
Set rngの行がちょっとまずかったです。選択範囲の右下セルの行番号もしくは列記号が2桁以上だと誤動作もしくはエラーになると思います。
修正版をまた投稿させていただきたいと思いますので、しばしお待ちを。
修正版をお待ち致します~♪
こんなに早くご回答頂けるとは思っていませんでしたので
しばらくしば~らくお待ち申し上げます。
誠に恐縮ですが宜しくお願い致します^^
No.1
- 回答日時:
手抜きなところが多々ありますが、こんな感じでどうでしょうか。
セル範囲選択してマクロ実行するとフォームが選択範囲の右下に表示されます。
選択範囲が画面の右のほうだったり下のほうだったりするとユーザーフォームが見切れて表示されてしまいますのでご注意を。
---------------------
Sub test()
Dim x As Long
Dim y As Long
Dim str As String
Dim rng As Range
str = Selection.Address
Set rng = Range(Right(str, 4)).Offset(1, 1)
x = ActiveWindow.PointsToScreenPixelsX(0) * 72 / 96 + rng.Left * ActiveWindow.Zoom / 100
y = ActiveWindow.PointsToScreenPixelsY(0) * 72 / 96 + rng.Top * ActiveWindow.Zoom / 100
Load UserForm1
With UserForm1
.StartUpPosition = 0
.Left = x
.Top = y
End With
UserForm1.Show
End Sub
--------------
私もいろいろ調べながら書いてみましたので、細かいところのフォローはできかねますのでご容赦ください。
早速のご教授ありがとう御座います♪
しかも貴重なお時間を割いてお調べ頂いて感謝です<(_ _)>
更に、ご回答後に検証までして頂き感激です。
x=・・・ y=・・・ の部分は、こんなこと出来るんだと。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) エクセル VBA 条件によるセル点滅 お詳しい方 ご教授をお願いします。 Excelファイルにて 現 1 2022/11/03 15:53
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
2画面表示でのVBAのボタン押下後のform表示の位置
Excel(エクセル)
-
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excel UserForm の表示位置
-
【Excel VBA】一番右端セルまで...
-
VBA:日付を配列に入れ別セルに...
-
Excelで空白セル直前のセルデー...
-
【Excel VBA】マクロで書き込ん...
-
【VBA】【ユーザーフォーム_Lis...
-
CSVファイルを読み込んだらセル...
-
C# DataGridViewで複数選択した...
-
CellEnterイベント仕様について
-
エクセル、マクロで番号を読込...
-
EXCEL VBA 文中の書式ごと複写...
-
エクセル VBA ボタンをクリック...
-
【ExcelVBA】値を変更しながら...
-
Excel 範囲指定スクショについ...
-
データのある範囲を選択するVBA...
-
【VBA】写真の貼り付けコードが...
-
文字数に応じてfont-sizeを自動...
-
DataGridViewでグリッド内に線...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
特定の色のついたセルを削除
-
【Excel VBA】一番右端セルまで...
-
【VBA】【ユーザーフォーム_Lis...
-
EXCEL VBA 文中の書式ごと複写...
-
VBA:日付を配列に入れ別セルに...
-
C# DataGridViewで複数選択した...
-
Excel UserForm の表示位置
-
入力規則のリスト選択
-
Excel 範囲指定スクショについ...
-
エクセル、マクロで番号を読込...
-
DataGridViewでグリッド内に線...
-
Excel VBAで特定の範囲の空白セ...
-
CellEnterイベント仕様について
-
Excel VBAでCheckboxの名前を変...
-
【ExcelVBA】値を変更しながら...
-
データグリッドビューの結合セ...
-
下記のマクロの説明(意味)を...
おすすめ情報