|
おはようございます。
>下記のとおり SpinButtonの値を UserForm_Initializeで入力
>したところイベント SpinButton1_Changeが発生します。
InitializeイベントでSpinButtonの値を変更すれば、発生しますよね。
>イベント発生回避の Apllication.EnableEvents=False を使ってみましたが
>うまくいきませんでした。
ActivexControlのイベントをApllication.EnableEventsの値で抑制はできませんよ!!
>SpinButton1_Changeイベント発生回避はどのようにしたらよいのかご教示ください。
検討事項
Changeイベントではなく、SpinDown、SpinUpイベントで対応できないのか?
検討してください。これなら、SpinButtonの変更では、イベントが発生しません。
どうしてもChangeイベントでの処理が必要な場合、
Apllication.EnableEventsの役割をするフラグを自分で作成する必要があります。
ユーザーフォームのモジュールに
private eev as boolean 'イベント発生 True 可 False 不可
Private Sub UserForm_Initialize()
Dim aa As Integer
aa = Sheet1.[a1].CurrentRegion.Rows.Count
eev=false
SpinButton1.Min = 1
SpinButton1.Max = aa
eev=true
End Sub
Private Sub SpinButton1_Change()
if not eev then exit sub
・・・略・・・・
TextBox1.Value = SpinButton1.Value
・・・略・・・・
End Sub
検討してみてください
|
|