
Excelシート上に、フォームコントロールのボタンを置いてマクロを登録すると
実行するのに便利なのですが、
スクロールやオートフィルタで特定の値でフィルタした時などに、
ボタンが見えなくなってしまいます。
ウィンドウ枠の固定で常に固定される領域にボタンを置くのも手なのですが、
どうしてもレイアウト的に無理がある時もあります。
ちなみに、A列だけボタンを置く領域とするとボタンが縦に配置できますが、
行数が多い表の場合、フィルタやスクロールでボタンが見えなくなってしまいます。
常にボタンを見えるようにする方法はないでしょうか?
ボタンを配置したオブジェクトを集計表の上に浮かせて置ければ良さそうなのですが。
(浮かせて、という意味は、自由にマウスでボタンセットを移動できれば表の邪魔にならないといういう意味です。)
No.1ベストアンサー
- 回答日時:
こんばんは。
どの様な方法が良いかにもよりますが、
シート上以外では、ダメでしょうか?
小さなユーザーフォームを表示しておく方法。フォームをモードレスで表示
https://atmarkit.itmedia.co.jp/ait/articles/1410 …
リボンにマクロのボタンを設置する方法、
https://hamachan.info/win7/excel/macro.html
ありがとうございます。
>小さなユーザーフォームを表示しておく方法
この方法が画期的な発見でした。
今までは、例えば”E2”セルの値に応じて処理をするマクロ1を設定していたのですが、今回以下の様にコンボボックスで選択肢を用意出来る事が分かりましたので、
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "りんご"
.AddItem "みかん"
.AddItem "バナナ"
.AddItem "マンゴー"
End With
End Sub
この値に応じてマクロ1を実行するにはどうしたら良いでしょうか?
ちなみにE2の値に応じて動作するマクロは以下の様なソースです。
Sub マクロ1()
Select Case Range("E2").Value
Case "りんご"
処理
Case "みかん"
処理
Case "バナナ"
処理
Case "マンゴー"
処理
End Select
End Sub
UserForm1内のComboBox1に応じて、マクロ1の分岐が出来ないでしょうか?
No.7
- 回答日時:
#5です
>リボンの設定は各PCで行う必要がありそうですね。
いえ、設定されたブックが開く時のインスタンスで設定するので
そのブックのみに反映されます。従ってPC設定は不要ですが、バージョンの互換性には問題があり、現行バージョンで作成すると2016以降なら、、みたいになると思います。(確認していません)
いづれにしても、不具合対策でWindowsAPIでレジストリー登録したりする必要もあるので気軽ではありませんね。
そのようなことも出来る程度の認識で、将来、アプリやアドインなどとして配布を考えた時に思い出せれば、幸いです。
ありがとうございます。
今の環境は、全スタッフOffice365で統一されてますので、
ブック毎にリボン設定が活きるのであれば活用できそうです!
No.5
- 回答日時:
こんばんは
直接の回答ではありません。
代替え案として、少しハードルが上がりますが、リボンをカスタムしてユーザーフォームの様にすることが出来ます。
リボンにはボタン、リストボックスやコンボボックスなどなどコントロールを作成配置する事が可能でそこからVBAを実行する方法もあります
不要な既存機能(リボン操作)を排除する事も可能なので、専用アプリケーションのような仕上がりになります。
参考 https://www.ka-net.org/blog/?cat=1
No.4
- 回答日時:
>フォームコントロールのボタンを置いてマクロを登録すると
これを
Excel VBA 右クリックメニューにマクロ実行メニューを追加する
https://kosapi.com/post-978/
を
Excel VBA ファイルを開く時にマクロを自動実行する方法
https://officedic.com/excel-vba-fileopen-autoexe …
で設定し
Excel VBA ファイルを閉じる時にマクロを自動実行する方法
https://officedic.com/excel-vba-fileclose-autoex …
で解除する。
右クリックに追加する呼び出すマクロは従来あるもので宜しいのでは?
なるほど。右クリックメニューで実行できれば、画面の位置に関わらずいつでも実行できますね。
色々応用できそうです。
ありがとうございます。
No.3
- 回答日時:
こんばんは。
ComboBoxの他に、コマンドボタンを配置した方が無難かと思います。
https://support.microsoft.com/ja-jp/office/%E3%8 …
Private Sub CommandButton1_Click
Select case ComboBox1.Value
Case ”リンゴ”
処理
Case "みかん"
処理
End Sub
なるほど!
選択肢をユーザフォーム上で行うなら、実行ボタンも同じフォームで行う方が正しそうですね。テスト成功しました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- オンラインゲーム ゲーム(バトロワ)についてアドバイスください 1 2022/11/16 10:29
- オンラインゲーム DBDで貞子の具現化ボタンと念写について 1 2022/04/02 01:28
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- gooブログ Twitterの動画画面をgooブログに埋め込めない 4 2022/06/03 16:40
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
このQ&Aを見た人はこんなQ&Aも見ています
-
スクロールしてもボタンを常に表示させたい。Excel2002
Excel(エクセル)
-
マクロを登録しているボタンが常に同じ位置にとどまるようにできるのでしょうか?
Excel(エクセル)
-
excel スクロールしても常にボタンが表示される様にしたい。
PowerPoint(パワーポイント)
-
-
4
エクセルでマクロボタンを動かさないようにするには
Excel(エクセル)
-
5
エクセルで、マクロボタンの表示位置を固定
その他(Microsoft Office)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
Excel:コマンドボタンの移動
Excel(エクセル)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
10
VBAのボタンの位置が変わって困ります
Visual Basic(VBA)
-
11
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
12
エクセルのコマンドボタンの位置をVBAで指定できませんか?
Excel(エクセル)
-
13
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
14
Excel フォームで作成したボタンを固定したい
Excel(エクセル)
-
15
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
16
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
17
押したボタンの位置取得(共通のマクロ)
Excel(エクセル)
-
18
マクロ 実行ボタンを押さずに常に実行
Excel(エクセル)
-
19
WEBのようにスクロールすると付いてくる表
Excel(エクセル)
-
20
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの画面にユーザーフォ...
-
Accessについてです。
-
マクロを登録しているボタンが...
-
フォームコントロールから作っ...
-
VBAでオプションボタンなどそれ...
-
オブジェクト名をVBAで指定...
-
トグルボタンをオプションボタ...
-
【Excel VBA】マクロボタンを表...
-
日報の休日ボタン(トグルボタ...
-
Excelシート上のマクロを登録し...
-
EXCELのマクロが 実行時エラー5...
-
マクロで作ったボタンのサイズ...
-
dynabookのボタンが機能しない
-
エクセルのボタンを押したら色...
-
UPS警告音を止めたい
-
Excelで、ボタンにコメントをつ...
-
入力済み、選択したセルに連動...
-
複数シートのボタンに同一の動...
-
Accessのフォームでタブの色
-
エクセルで、オプションボタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
【Excel VBA】マクロボタンを表...
-
UPS警告音を止めたい
-
エクセルの画面にユーザーフォ...
-
マクロを登録しているボタンが...
-
EXCELのマクロが 実行時エラー5...
-
複数シートのボタンに同一の動...
-
入力済み、選択したセルに連動...
-
フォームコントロールから作っ...
-
Excelで、ボタンにコメントをつ...
-
Excel ラジオボタンのリセット...
-
エクセルで、オプションボタン...
-
マクロで作ったボタンのサイズ...
-
オブジェクト名をVBAで指定...
-
エクセルでマクロボタンを押す...
-
Accessのフォームでタブの色
-
excel スクロールしても常にボ...
-
ユーザーフォームをショートカ...
-
EXCELの塗りつぶしのボタ...
-
パナソニックKX-PW22CLHの電話...
おすすめ情報
mygoonickname さん
今は、コンボボックスで選択肢から選んでから、
「実行」と書かれたコマンドボタンをクリックして値毎の処理をしています。
これはうまく行きましたので助かりました。
使っていて思ったのは、
コンボボックスで選択肢から選んだ直後に処理に飛ばす事は可能でしょうか?
それが出来れば「実行」ボタンを無くせます。
ご存じでしたらよろしくお願いいたします。