
エクセルについての質問です。
現在、ユーザーフォーム上に、いくつかのコマンドボタンを配置して、
さらに、スクロールによって、たくさんのコマンドボタンをみれるようにしています。
特に、コマンドボタンにマウスカーソルを合わせると、コマンドボタンの隣に図を表示する構成です。
しかしながら、図の表示位置をユーザーフォームから座標を指定しているため、
スクロールして、コマンドボタンの位置が変わると、図の表示位置がコマンドボタンに追従せず、ずれてしまいます。
なにか良い方法はないでしょうか。
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
No.1ベストアンサー
- 回答日時:
UserForm_Scroll()で移動量を計算して、
CommandButton1_MouseMove()で相対座標を計算すればいいと思います
が、全コマンドボタンにMouseMoveを入れないとダメです
制度は甘いですがこんな感じでしょうか
Dim m_dNowY As Double
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim dScrollCnt As Double
Dim dY As Double
dScrollCnt = m_dNowY / Me.Height
dY = (Me.CommandButton1.Top + 20) - (dScrollCnt * Me.Height) 'UserFormのタイルの高さ(20)を考慮
MsgBox dY
End Sub
Private Sub UserForm_Initialize()
Me.Height = 100
Me.ScrollHeight = Me.Height * 4
End Sub
Private Sub UserForm_Scroll(ByVal ActionX As MSForms.fmScrollAction, ByVal ActionY As MSForms.fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle)
m_dNowY = m_dNowY + ActualDy
If 0 > m_dNowY Then
m_dNowY = 0
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- レトロゲーム ↓アケコンのレバーとボタンを交換してネオジオ(MVS)カラーにしてみました。 どうですか?どう思いま 2 2022/11/21 18:51
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
Excel:コマンドボタンの移動
-
コマンドボタンがあるかどうか...
-
スクロールしてもボタンを常に...
-
コマンドボタンで「終了ボタン...
-
Excel VBA --- コマンドボタ...
-
PPTのコマンドボタンがクリック...
-
押したボタンの位置取得(共通の...
-
エクセルVBAでOptionButtonのオ...
-
エクセルのマクロでスライドシ...
-
ShowAllDataのエラーを回避したい
-
エクセルVBA
-
閉じるボタンを左に表示したい
-
ワードにタイマーを設定したい
-
InDesignには「1段階戻る」の...
-
エミュレータでジョイパットを...
-
EXCELのシート名を指定してその...
-
excelコマンドボタンと内容を別...
-
Accessユーザーフォームでコマ...
-
Acces コマンドボタンで複数条...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
Excel:コマンドボタンの移動
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
PPTのコマンドボタンがクリック...
-
Accessのコマンドボタンの立体...
-
Excel VBA --- コマンドボタ...
-
コマンドボタンがあるかどうか...
-
エクセルVBAでOptionButtonのオ...
-
ShowAllDataのエラーを回避したい
-
チェックボックスで「いずれか1...
-
コマンドボタンで「終了ボタン...
-
エクセルVBA
-
EXCELでNo.を変えて印刷したい
-
エクセルでマクロを使わずに複...
-
Wordでドラッグした文字列を括...
-
Accessユーザーフォームでコマ...
-
エクセルでマクロボタンを動か...
-
エクセルのコマンドボタンの位...
-
エクセルVBA シート上にあるコ...
おすすめ情報