
No.2ベストアンサー
- 回答日時:
こんにちは。
>エクセル フォームの ボタンがすぐにはへこまないのはなぜ?
表題の回答としては、フォームツール自体は、Ver.5 のもので、ダイアログシートなら、すぐに反応するけれども、ワークシートでは、単に、Shapes の一群(Member) としてしか扱われないから、最初に、フォームツールの反応を優先してから、Shape という扱いで、影が反転するのだろうと思います。
もちろん、Shapeとして、クリックした時点で影を反転させるようなマクロを作れば、出来るのだろうけれど、それ自体がなかなか面倒なような気がします。
マクロでコマンドボタンを設定するとか、コントロール配列の真似事をするようなことをしなければ、表現力やイベントの豊富なコントロールツールにしたほうが良いということにしか、回答は思いつきません。
回答ありがとうございます。
なるほどなぁ・・・
仕組みからみれば、なんとなく納得です。
やはり別段必要がないからそういう仕様にしてある
(あるいは、そういう仕様のまま)、なのですかね♪
ありがとうございました。
No.1
- 回答日時:
>のどちらかでないとボタンがへこんでくれません。
現象確認しました(Excel2002)。 気が付かなかったなあ!!
いくつかプロパティを探りましたが、これを是正するようなプロパティは
見つけられませんでした(あるかもしれませんが)。
で、代替案。
1 「コントローツールボックス」のコマンドボタンを使う
これだときちんと凹みますよね!!
2 オートシェイプの四角形を使って、ボタンを作成する。
これでも凹みませんが、クリック時にボタンに色の変化が
見られるから、それらしく見える
オートシェイプの擬似ボタンの一例です。
新規ブックの標準モジュールにて
'=============================================================
Sub main()
Dim btn As Shape
[c10].Select
Set btn = newbutton(ActiveSheet)
btn.OnAction = "test"
[f10].Select
Set btn = newbutton(ActiveSheet, "Button2", , , , , &H800000, &HFFFF00)
btn.OnAction = "test"
Set btn = Nothing
End Sub
'=================================================================
Function newbutton(ByVal sht As Worksheet, _
Optional ByVal txt As String = "", _
Optional ByVal left As Single = -1, _
Optional ByVal top As Single = -1, _
Optional ByVal width As Single = 72, _
Optional ByVal height As Single = 24, _
Optional ByVal folor As Long = &H80000012, _
Optional ByVal bcolor As Long = &HC0C0C0) As Shape
'sht 作成シート txt Caption文字列 left,top,width,heightは、ボタンの位置とサイズ
'fcolor 文字の色(RGB) bcolor ボタンの色(RGB)
If txt = "" Then txt = "button"
If left < 0 Then left = ActiveCell.left
If top < 0 Then top = ActiveCell.top
Set newbutton = sht.Shapes.AddShape(msoShapeRectangle, _
left, top, width, height)
With newbutton
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.RGB = bcolor
.Fill.Transparency = 0#
.Line.Visible = msoFalse
.Shadow.Type = msoShadow14
With .TextFrame
.Characters.Text = txt
.Characters.Font.Color = folor
.HorizontalAlignment = xlHAlignCenter
.VerticalAlignment = xlVAlignCenter
End With
End With
End Function
'=================================================================
Sub test()
MsgBox "ok"
End Sub
mainを実行してみてください。アクティブシートに二つの
ボタンが作成されます。
これで代替できませんか?
まっ、こんな面倒なことをするなら、
対した問題もないなら、そのまま既成のボタンを使うという
選択もありますねえ!!
検討してみてください
朝早くからの回答ありがとうございます。
どうやら仕様であり、回避できないということがわかりました。
どの道をとるか、しばし思案検討したいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Windows 10 Windowsをキーボードのボタン操作でシャットダウンさせたい 4 2022/11/08 19:23
- その他(生活家電) テレビリモコンのボタン修理 6 2022/05/02 22:30
このQ&Aを見た人はこんなQ&Aも見ています
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
単二電池
あなたの家に何本ありますか?
-
かっこよく答えてください!!
あなたは今にも別れそうなカップルの彼女の恋愛相談に乗っています。
-
[ExcelVBA] コマンドボタンを押しっぱなしにしている間、マクロを繰り返す方法
Excel(エクセル)
-
ボタン
Visual Basic(VBA)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
button をクリックしてもへこませなくするには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
【Excel VBA】マクロボタンを表...
-
UPS警告音を止めたい
-
マクロを登録しているボタンが...
-
オブジェクト名をVBAで指定...
-
Excel ラジオボタンのリセット...
-
マクロで作ったボタンのサイズ...
-
テキストボックスを消すVBA
-
ユーザーフォームをショートカ...
-
YouTube見てるとたまに勝手にSi...
-
エクセルでマクロボタンを押す...
-
入力済み、選択したセルに連動...
-
VBAでオプションボタンなどそれ...
-
フォームコントロールから作っ...
-
エクセル 印刷プレビュー マ...
-
EXCELの塗りつぶしのボタ...
-
エクセル マクロ セルの値が...
-
VBAコード VBA初心者なのですが...
-
ボタンを画像で作るか、CSSでデ...
-
VBAでクリアボタンのみ残してシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
マクロを登録しているボタンが...
-
フォームコントロールから作っ...
-
エクセルの画面にユーザーフォ...
-
Excelで、ボタンにコメントをつ...
-
入力済み、選択したセルに連動...
-
マクロで作ったボタンのサイズ...
-
複数シートのボタンに同一の動...
-
ユーザーフォームをショートカ...
-
オブジェクト名をVBAで指定...
-
EXCELのマクロが 実行時エラー5...
-
EXCELの塗りつぶしのボタ...
-
Excel ラジオボタンのリセット...
-
エクセルで、オプションボタン...
-
Accessのフォームでタブの色
-
VBAでクリアボタンのみ残してシ...
-
エクセルでグループボックスを...
-
マクロ初心者です。 msgboxのre...
おすすめ情報