[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームの大きさ変更』(キセノン優勝)
お世話になっております。
ユーザーフォーム上にボタンを一つ配置して
一度クリックすると大きくなって、もう一回クリックすると元に戻るという
感じです。
Private Sub UserForm_Activate()
UserForm1.Height = 400 End Sub
Private Sub CommandButton1_Click()
If UserForm1.Height = 400 Then
UserForm1.Height = 500 Else UserForm1.Height = 400 End If
End Sub
ボタンクリックしても変化しない時とするときが
あるみたいでクリックと正しく連動できるよう
指摘頂けたらと思います。
※クリックを早く押すと反応しないっぽいです。。。
< 使用 Excel:unknown、使用 OS:unknown >
やま勘ですけど、Exit Sub の直前に
DoEvents
を入れたらどうですか?
(半平太) 2017/03/27(月) 12:29
気が付いたのですが、
初歩ですがボタンのダブルクリックイベントのには何も書いていなかったので
ダメみたいでした。以下のように追記したら解決っぽいです。
Private Sub CommandButton1_Click()
If UserForm1.Height = 400 Then
UserForm1.Height = 500 Else UserForm1.Height = 400 End If DoEvents ’←半平太様指摘の追記 End Sub
'↓↓以下追記↓↓
Private Sub CommandButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If UserForm1.Height = 400 Then
UserForm1.Height = 500 Else UserForm1.Height = 400 End If End Sub
(キセノン優勝) 2017/03/27(月) 13:10
>初歩ですがボタンのダブルクリックイベントのには何も書いていなかったので >ダメみたいでした。以下のように追記したら解決っぽいです。
ふつうは、ダブルクリックというイベントは使いませんよねぇ・・・ クリックで反応せず、ダブルクリックで反応する?
何か、べつの要因があると思いますよ。
じゃないと、すべてのボタンクリックのイベントをダブルクリックで書かなければいけないことになりますから。 そんなコード、まず、見かけないですねぇ。
(β) 2017/03/27(月) 16:45
やっぱりダブルクリックイベントは使いませんよね。。。
私はクリックを早くしても遅くてもクリック1回に対し1回クリックイベントさえ動けば
よいと思っています。
しかし
ボタンをカチカチっとダブルクリックすると
クリックイベント1回
ダブルクリックイベント1回動いているようです。
下記のコードで試してみた結果です。
Private Sub CommandButton1_Click()
Debug.Print 1 End Sub Private Sub CommandButton12_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Debug.Print 2 End Sub としたら、イミディエイトには 1 2
となっていました。
当初は
1
1
となると思っていたのです。
解釈が間違っていたらスミマセン。
ということで今はこういう風にしています。。
Private Sub CommandButton1_Click()
If UserForm1.Height = 400 Then UserForm1.Height = 500 Else UserForm1.Height = 400 End If DoEvents ’←半平太様指摘の追記 End Sub
Private Sub CommandButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
CommandButton1_Click End Sub
(キセノン優勝) 2017/03/27(月) 17:09
その場合、キセノン優勝さんが検証されたように、
クリック、ダブルクリック、
の順でイベントが1回ずつ発生するのですが、これを
クリックイベントが2回発生すると期待しているとしたら、
2回目の分が発生しないので「あれ?」と思っているのでは
ないでしょうか。
(春男) 2017/03/28(火) 13:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.