
No.4ベストアンサー
- 回答日時:
#3さんのおっしゃるように、MouseMoveイベントを使う方法があります。
ボタンの上にテキストボックスを置きます。
ボタンのMouseMoveイベントでテキストボックスのVisibleプロパティ を True にします。
ボタンの下に、ボタンより一回り大きなイメージコントロールなどを置いて、そのコントロールのMouseMoveイベントで、テキストボックスの Visible を Falseにします。
イメージコントロールのBachStyleプロパティとBorderStyleで、イメージコントロールを透明にできます。
ご回答ありがとうございます。
下にもうひとつのイメージを置くなんて考えつきませんでした!
かなりイメージしているものに近いものができました!
ただ、CommandButton1.MousePointer = fmMousePointerArrow
という設定をしていても、マウスの形が砂時計と矢印を行き来していて、だいぶチラつくのですが、
他に違うやり方などがありますでしょうか?
どうぞよろしくお願いします。
No.8
- 回答日時:
#7です。
失礼しました、訂正です。> テキストボックスは、"図形描画"のものを使うことをお勧めします、最初に書いておけばよかったですね。
"図形描画"ではなくて、コントロールツールボックスの"ラベル"ですね。
ラベルは文字の大きさや位置などに制約がありますが、プロパティを工夫すればけっこう使えると思います。
No.7
- 回答日時:
#4です。
> マウスの形が砂時計と矢印を行き来していて、だいぶチラつくのですが、
こちらでもテストしていますが、マウスポインターのちらつきは見られませんでした。ただ、マウスをすばやく動かすとイベントが発生しないようで、テキストボックスが消えないことがありますが。(^_^;)
もしかするとテキストボックスは、コントロールツールボックスのテキストボックスを使っていらっしゃるでしょうか。そうだと、テキストボックスの上にポインターが乗ると、勝手に文字入力用に形が変わってしまいますね。テキストボックスは、"図形描画"のものを使うことをお勧めします、最初に書いておけばよかったですね。
ご回答どうもありがとうございます。
テキストボックスはコントロールツールのものを使っていました…(~_~;)
図形描画のテキストボックスを使うとうまくいきました。
> マウスをすばやく動かすとイベントが発生しない
たぶん、そんなに早くマウスを動かして操作する人がいませんので大丈夫です!
長い間どうもありがとうございました。
またわからないことがありましたら、よろしくお願いいたします。
No.6
- 回答日時:
#3ですが、いや~、昨日お風呂で思いついたんですが#4さんにもう書かれてました。
MouseMoveでなにか別のテキストボックスのキャプションとか、セルの値とかを表示させたいコメントにして、LostFocusぐらいでコメント非表示っていうのでどうでしょうかね。
それでもイメージとは違うとは思いますけど。
ご回答ありがとうございます。
ボタンとイメージのあるセルに最初にコメントを入れておいて、
Mousemoveで、コメント表示/非表示を切り替えるといいんですね。
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("F11").Comment.Visible = True
End Sub
Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Range("F11").Comment.Visible = False
End Sub
こんな感じになりました。ありがとうございます!
No.5
- 回答日時:
#4です、ちょっと補足を。
> ボタンの下に、ボタンより一回り大きなイメージコントロール
「ボタンの下に」とは、イメージを右クリック、"順序"で、ボタンの背面に移動させるという意味です。
No.3
- 回答日時:
いま見たら
mousemove
がおっしゃってるパターンじゃないですか?
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MsgBox ("test")
End Sub
ただこれは完成イメージとはちょっと違いますね。
ご回答ありがとうございます。
Mousemoveはやってみたのですが、Msgboxやユーザーフォームだと作業が止まってしまい、テキストボックスなどはロードできないと言われてしまいました…。
No.2
- 回答日時:
クリックせずにフォーカスさせるには土台になるユーザーフォーム上にボタンを配置してやり、「Tab」キーでフォーカスを移していく必要があるのでしょうね。
この辺りがVBAとVBの違い(ボタンがウインドウか単なるコントロールかという)かもしれませんので、ネットでよく探してみてください。
ご回答どうもありがとうございます。
やはりTabキーでフォーカスしようとすると、ユーザーフォーム上で配置しなければいけないのですね。
エクセルのバージョンが97ですので、
ユーザーフォーム.Show vbModeless
という手が使えず、ボタンを常に表示しておく必要もありますので、ボタンをシート上に配置しているのですが、
なかなかむずかしいですね…。
No.1
- 回答日時:
CommandButton1_GotFocus()
でどうですか。
VBAを使ってらっしゃるようですので
Private Sub CommandButton1_Click()
のソースのどこかにポインタを置いて、ウインドウの
「Click↓」となってるところの「↓」を押すと関数が出来ると思いますよ。
この「↓」を押して出てくる以外のイベントはコマンドボタンオブジェクトにはありませんのでできませんが、逆にコマンドボタンにはこれだけのイベントがあるのだなぁ、と、他のオブジェクトを見るときにも見てみて。
早速のアドバイスどうもありがとうございます。
GotFocus ではどうしたらクリックせずにフォーカスできるのかちょっとわかりませんでした。
Click↓内の、BeforeDrugOver から MouseUp までとりあえず試してみたのですが、どれもマウスをのせただけというわけにはいかないのですね…。
OnMouse みたいなのがあるかと思ったのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで、ボタンにコメントをつけたい。
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
セルにカーソルを合わせると文字を表示させるVBA
Excel(エクセル)
-
-
4
エクセルの画像にツールチップを表示させたい
Visual Basic(VBA)
-
5
excel、画像にカーソルを合わせるとタイトル・説明が表示されるようにするには?
Excel(エクセル)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
8
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
9
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
10
Excel VBAで、実行時にsheet上のコマンドボタンのCaptionを変更する。
Excel(エクセル)
-
11
エクセルでセルにポインタすると表示されるコメントみたいなもの
Excel(エクセル)
-
12
Excelのマクロ>セルにカーソルがあたったらコメントを表示する
Excel(エクセル)
-
13
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
14
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
15
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
16
Excel VBA Application.caller エラー2023について
Visual Basic(VBA)
-
17
(エクセルVBA)セルを左クリックしたら実行させるには?
Excel(エクセル)
-
18
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
19
オートシェイプ図形をクリックでコメントを表示したい
Excel(エクセル)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで多数のプログラムを一つの...
-
VBA シートのボタン名を変更し...
-
ユーザーフォームに別シートか...
-
C#でSendInputを使ったサンプル...
-
DO~LOOP でのLOOP...
-
VBAでオプションボタンによって...
-
VBA IE ダウンロード ダイアロ...
-
VBA CommandButtonの文字ずれ
-
VBA(エクセル)で自動的にボタン...
-
VBA ユーザーフォームラベルキ...
-
CommandButtonのCaptionを変化...
-
Excel VBA Application.caller...
-
左クリックさせるプログラム
-
ASP.Net ラベルの内容をすぐに...
-
マルチページで現在開いている...
-
Delphiにて、呼び元の情報を(...
-
worksheetFunctionクラスのVloo...
-
excel vbaでユーザーフォームに...
-
VBAがブレークモードになっ...
-
VBAのテキストフォームの折り返...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBAで多数のプログラムを一つの...
-
Excel VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
コマンドボタンやイメージにマ...
-
C#プログラムで、ボタンをショ...
-
BorlandC++Builderでのタイマー...
-
[VB.net] ボタン(Flat)のEnable...
-
フォームの再読み込み
-
ボタンをマウスで押し続けたと...
-
閉じると「+」になり開くと「-...
-
Access VBA でデータペーストを...
-
C#でSendInputを使ったサンプル...
-
バックスペース機能の作り方
-
アイコンとボタンの違い
-
セルをマクロのボタンにしたい。
-
Excel マクロ 閉じるボタン
-
VBAのボタンの位置が変わって困...
おすすめ情報