[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームの表示位置』(きんじ)
EXCEL 2000 OS WINDOWS XP
いつもありがとうございます。
VBAでアクティブセルのすぐ下にユーザーフォームを表示したいのですが・・・
UserForm1.Top = ActiveCell.Offset(1).Top
で設定しても、うまくいきません。
RangeオブジェクトのTopプロパティがウィンドウの上端からでなく、行1からの
距離を表しているからだとは思うのですが・・・、
良い方法があれば教えて頂けないでしょうか。
宜しくお願い致します。
マクロの実行方法はどのようにする予定ですか? ダブルクリックイベントなどであれば、 マウスカーソルの位置を基準に表示させることは可能ですけど。 (INA)
マクロの実行はWorksheet_ChangeイベントでTargetセルを基準に、その下に
フォームを表示させたいのですが・・・
よろしくお願い致します(きんじ)
ChangeイベントのTargetだと複数セルの可能性もありますが・・・ でも、ちょっと厳しい・・・構想中・・・
(INA)
そうですね。
複数セルの場合はMsgBoxでエラーメッセージだして、処理終了するようにします・・・
是非、よろしくお願いします!
(きんじ)
変化したセルが、表示されているウィンドウに 入っていない可能性もあると思いますけど・・
(INA)
今回作製したいシートで言えば、ある一定の範囲内のセルで生じた
場合のChangeイベントで発生するマクロを作成したいと思っています。
また、この範囲内のセルを参照している関数は存在せず、ウィンドウに
入っていないセルが変化する事は無いと考えているのですが・・・
(きんじ)
ウィンドウは最大化している場合のみ対応。
Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range If Target.Count <> 1 Then Exit Sub
Unload UserForm3 Set r = Range(Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn), Target)
Y = r.Height X = r.Width UserForm3.Show 0 End Sub
'------------------
Private Sub UserForm_Activate() AppActivate "Microsoft Excel" End Sub
Private Sub UserForm_Initialize() Me.StartUpPosition = 0 Me.Top = Y Me.Left = X End Sub
'------------------ Public X As Long Public Y As Long
(INA)
昨日今日とサイトを確認することが出来ず、お礼を申し上げるのが
遅くなってしまい、申し訳ございません。
これからも、是非是非よろしくお願いします!
(きんじ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.