- ベストアンサー
Excel UserForm の表示位置
- Excel UserForm の表示位置をセルの右下に設定する方法を教えてください。
- セル選択範囲に応じて、Excel UserForm を配置する方法を知りたいです。
- Excel UserForm をセルの右下に表示する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- マルチページのタブを切り替えたとき・・
エクセル2002使用です。 VBAで、ユーザーフォーム1、ユーザーフォーム2の2つのフォームを作り、ユーザーフォーム1内にマルチページ(page1、page2)をつくりました。マルチページのpage1からpage2にタブを切り替えた時に、ユーザーフォーム2を表示させたいのですが、うまくいきません。 UserForm1のモジュールに記述しています。 Private Sub MultiPage2_Change() Load UserForm2 With UserForm2 .StartUpPosition = 0 .Top = 50 .Left = 20 .Show End With End Sub 原因がわからず困ってます。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルについての質問です。
エクセルについての質問です。 現在、ユーザーフォーム上に、いくつかのコマンドボタンを配置して、 さらに、スクロールによって、たくさんのコマンドボタンをみれるようにしています。 特に、コマンドボタンにマウスカーソルを合わせると、コマンドボタンの隣に図を表示する構成です。 しかしながら、図の表示位置をユーザーフォームから座標を指定しているため、 スクロールして、コマンドボタンの位置が変わると、図の表示位置がコマンドボタンに追従せず、ずれてしまいます。 なにか良い方法はないでしょうか。 Private Sub UserForm_Initialize() Me.StartUpPosition = 0 Me.Top = UserForm1.Top + 80 Me.Left = UserForm1.Left + 70 Me.Height = 80 Me.Width = 90 End Sub
- ベストアンサー
- オフィス系ソフト
- Excel VBA:フォーム←→セルのアクティブ切り替え
vbModelessで表示したフォームとセルのアクティブを制御出来ないでしょうか? UserForm1.Show vbModeless range("A1").select ← ここでセルをアクティブにしたい(これでは駄目でした) 色々試したのですが、さっぱり分かりませんのでどなたかご存知でしたらお教え下さい。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- コマンドボタンを押すと、ユーザーフォームが表示されるマクロを組んでおり
コマンドボタンを押すと、ユーザーフォームが表示されるマクロを組んでおります。 このとき、ユーザーフォームの表示位置をあるセル(例えばE12)の隣にしたいのですが、 下記のマクロでは、画面をスクロールした場合に対応できません。 恐れ入りますが、ご教示いただけるとたすかります。。 Private Sub UserForm_Initialize() Me.StartUpPosition = 0 Me.Top = Application.Top + 180 Me.Left = Application.Left + 100 Me.Height = 80 Me.Width = 100 End Sub 投稿日時 - 2010-03-11 10:09:05
- ベストアンサー
- オフィス系ソフト
- アクセスからエクセルのUserForm1を表示させたい
オフィス2003です。 アクセスのフォーム上にコマンドボタンを置き、 クリックイベントでエクセル上に作成してある UserForm1を表示させたいです。 案の定 Sub CB_Click() Excel.UserForm1.Show End Sub ではだめでした。 どういう方法がありますか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAでユーザーフォームの表示を確認
VBAでユーザーフォームが表示されていなかったら UserForm1.Show vbModeless で表示させるようなプログラムを組みたいのですが 表示されているかどうかはそのようなコードで調べることができますでしょうか?
- ベストアンサー
- Visual Basic
- セルに貼り付けたコマンドボタンにマウスカーソルを合わせると、
セルに貼り付けたコマンドボタンにマウスカーソルを合わせると、 コマンドボタンの隣に、ユーザーフォームが表示されるマクロを組んでおります。 しかし、エクセルが最大表示のときは、コマンドボタンの隣にユーザーフォームが表示されるのですが、 エクセルの表示を小さくしたり、画面を下方にスクロールしたりすると、 コマンドボタンに追従せずに、変な場所にユーザーフォームが表示されてしまいます。 できれば、ユーザーフォームの表示位置を、コマンドボタンを基点としたいのですが、 何か良い方法はありますでしょうか。 現在は、アプリケーションの位置を基点にしております。 よろしくお願いします。 Private Sub UserForm_Initialize() Me.StartUpPosition = 0 Me.Top = Application.Top + 180 Me.Left = Application.Left + 100 Me.Height = 80 Me.Width = 100 End Sub
- ベストアンサー
- オフィス系ソフト
- 【至急お願いします】ExcelVBAユーザーフォームについての質問です。
Excelファイルを開くと同時にサンプルという名前のユーザーフォームを開いて任意の位置に配置する様に作り、イントラネットで公開しています。 デスクトップに保存して開くとシートの全面にユーザーフォームが前面に来ますが、イントラから開くとシートが全面に来て、ユーザーフォームが隠れてしまいます。デスクトップ上から開くのとイントラ上から開くのはどう違うのでしょうか?又、解決可能でしょうか? ”Thisworkbook”に下記の様に記載しています。 Private Sub Workbook_Open() サンプル.Show vbModeless With 返済率計算 .StartUpPosition = 0 .Top = 250 .Left = 350 End With End Sub 環境は WindowsXP Excel2002 東芝dynabook です。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- ダブルクリックしたセルの近くにユーザーフォームを表示したい
Worksheet_BeforeDoubleClick内でダブルクリックされたセルのすぐ近くに(例えば右側)ユーザーフォームを表示したいのですが、なかなかうまく行きません。 ネット上の情報を参考に、以下のようなコードを書いたのですが、画面右下に行くほど誤差が出てしまいます...座標系の考え方が間違っている? どのような解像度のスクリーン環境でも、どのようなエクセルの画面サイズでも(全画面でも任意サイズでも)とにかくダブルクリックしたセルのすぐ近くに表示したいです。 よろしくお願いします。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim l_baseLeft As Long Dim l_baseTop As Long Dim l_selectLeft As Long Dim l_selectTop As Long Const DPI As Long = 96 Const PPI As Long = 72 l_baseLeft = ActiveWindow.PointsToScreenPixelsX(0) l_baseTop = ActiveWindow.PointsToScreenPixelsY(0) l_selectLeft = ((Selection.Left * DPI / PPI) * (ActiveWindow.Zoom / 100)) + l_baseLeft l_selectTop = ((Selection.Top * DPI / PPI) * (ActiveWindow.Zoom / 100)) + l_baseTop With UserForm1 .StartUpPosition = 0 .Top = l_selectTop .Left = l_selectLeft .Show End With
- 締切済み
- オフィス系ソフト
- バックアップするとuserformが使えない
ユーザーフォームを設定した後で、次のプログラムを起動するとユーザーフォームを開こうとしても「パスが無効です」とでて使えなくなります。 Public Sub test() UserForm3.Show ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\バックアップ\" & ActiveWorkbook.Name UserForm2.Show Unload UserForm3 Unload UserForm2 End Sub また、プログラム中にシステムエラーとでたり、「オブジェクトが見つかりません」とでたりします。 いったいなぜなのか。どうすれば回避できるのか教えてください。お願いします ちなみにプログラムを実行するときはエクセルファイルと同じ階層に「バックアップ」というフォルダを作ってください。 このプログラムを実行した後は保存しないことをお勧めします。 ユーザーフォームが起動できなくなっても責任はとれません。 エクセルは2000 です。
- ベストアンサー
- Visual Basic
お礼
昨日の今日で。。お忙しい中、完璧なご回答をありがとう御座いました♪ さらりと書いてあるコードですが、全く思いつく所が無く感服しております。 また別質問する際は宜しくお願い致します<(_ _)> ご覧頂いてご検討して頂いた方々もいらっしゃるかと思いますが ありがとうございました。