
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
スクロールしてもボタンを常に表示させたい。Excel2002
Excel(エクセル)
-
マクロを登録しているボタンが常に同じ位置にとどまるようにできるのでしょうか?
Excel(エクセル)
-
エクセルでマクロボタンを動かさないようにするには
Excel(エクセル)
-
-
4
excel スクロールしても常にボタンが表示される様にしたい。
PowerPoint(パワーポイント)
-
5
エクセルで、マクロボタンの表示位置を固定
その他(Microsoft Office)
-
6
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
WEBのようにスクロールすると付いてくる表
Excel(エクセル)
-
9
VBAのボタンの位置が変わって困ります
Visual Basic(VBA)
-
10
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
11
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
12
エクセルのコマンドボタンの位置をVBAで指定できませんか?
Excel(エクセル)
-
13
Excel:コマンドボタンの移動
Excel(エクセル)
-
14
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
15
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UPS警告音を止めたい
-
EXCELのマクロが 実行時エラー5...
-
Excelシート上のマクロを登録し...
-
日報の休日ボタン(トグルボタ...
-
フレーム内のオプションボタン...
-
エクセルの画面にユーザーフォ...
-
エクセルの×ボタンを消したい
-
エクセルのユーザーフォームの...
-
【Excel VBA】マクロボタンを表...
-
accessのオプションボタン
-
コンボボックスウィザードが出...
-
Excel ラジオボタンのリセット...
-
Excelで、ボタンにコメントをつ...
-
アクセスのイベントプロシージ...
-
エクセルでグループボックスを...
-
パナソニックKX-PW22CLHの電話...
-
複数シートのボタンに同一の動...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
CloseとDisposeの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UPS警告音を止めたい
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
EXCELのマクロが 実行時エラー5...
-
【Excel VBA】マクロボタンを表...
-
マクロを登録しているボタンが...
-
マクロで作ったボタンのサイズ...
-
フォームコントロールから作っ...
-
入力済み、選択したセルに連動...
-
Excelで、ボタンにコメントをつ...
-
エクセルで、オプションボタン...
-
Accessのフォームでタブの色
-
複数シートのボタンに同一の動...
-
ユーザーフォームをショートカ...
-
VBAでクリアボタンのみ残してシ...
-
マクロ初心者です。 msgboxのre...
-
EXCELの塗りつぶしのボタ...
-
Excel ラジオボタンのリセット...
-
エクセルでマクロボタンを押す...
-
excel スクロールしても常にボ...
おすすめ情報
mygoonickname さん
今は、コンボボックスで選択肢から選んでから、
「実行」と書かれたコマンドボタンをクリックして値毎の処理をしています。
これはうまく行きましたので助かりました。
使っていて思ったのは、
コンボボックスで選択肢から選んだ直後に処理に飛ばす事は可能でしょうか?
それが出来れば「実行」ボタンを無くせます。
ご存じでしたらよろしくお願いいたします。