
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(エクセル)
-
8
Excel:コマンドボタンの移動
Excel(エクセル)
-
9
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
10
VBAのボタンの位置が変わって困ります
Visual Basic(VBA)
-
11
エクセルのコマンドボタンの位置をVBAで指定できませんか?
Excel(エクセル)
-
12
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
13
Excel フォームで作成したボタンを固定したい
Excel(エクセル)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
押したボタンの位置取得(共通のマクロ)
Excel(エクセル)
-
16
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
17
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
18
WEBのようにスクロールすると付いてくる表
Excel(エクセル)
-
19
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
20
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
フォームコントロールから作っ...
-
Excelシート上のマクロを登録し...
-
エクセルで、オプションボタン...
-
「この回答は参考になった」は...
-
InputBox関数でキャンセルボタ...
-
マクロで作ったボタンのサイズ...
-
Accessのフォームでタブの色
-
エクセルのラジオボタン
-
複数シートのボタンに同一の動...
-
マクロ ボタンをクリックしたら...
-
RealJukeboxからCD-Rにコピーで...
-
マクロ初心者です。 msgboxのre...
-
ダウンロード中に戻る
-
Excelで、ボタンにコメントをつ...
-
エクセルの画面にユーザーフォ...
-
エクセルでマクロボタンを押す...
-
EXCELの塗りつぶしのボタ...
-
ボタンを画像で作るか、CSSでデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
フォームコントロールから作っ...
-
エクセルの画面にユーザーフォ...
-
入力済み、選択したセルに連動...
-
EXCELのマクロが 実行時エラー5...
-
Excel ラジオボタンのリセット...
-
複数シートのボタンに同一の動...
-
マクロで作ったボタンのサイズ...
-
オブジェクト名をVBAで指定...
-
ユーザーフォームをショートカ...
-
エクセルで、オプションボタン...
-
マクロを登録しているボタンが...
-
Excelで、ボタンにコメントをつ...
-
EXCELの塗りつぶしのボタ...
-
VBAでクリアボタンのみ残してシ...
-
excel スクロールしても常にボ...
-
VBAでオプションボタンなどそれ...
-
エクセルでマクロボタンを押す...
おすすめ情報
mygoonickname さん
今は、コンボボックスで選択肢から選んでから、
「実行」と書かれたコマンドボタンをクリックして値毎の処理をしています。
これはうまく行きましたので助かりました。
使っていて思ったのは、
コンボボックスで選択肢から選んだ直後に処理に飛ばす事は可能でしょうか?
それが出来れば「実行」ボタンを無くせます。
ご存じでしたらよろしくお願いいたします。