
A1からN41までの大きさで、ある表を作成しています。表の上部に当たるA1からN5まではいくつかの見出しがあります。
また表の左側はA6からB41まで見出しがあります。そしてC6からN41までは各セルに罫線をつけ各セルに名前を入力するようにしています。
入力する名前は20人ほどあり、マクロを登録しているボタンで名前を入力できるようにしています。そしてその20個のマクロを記録したボタンをP7とQ7付近を先頭に10個、2列を縦に並べています。各セルに入力するときに下部の方は、5行目までをウィンドウ枠の固定をしていて表をスクロールして入力しています。
ただその時に必然的にマクロのボタンも移動するので半分ほどボタンが隠れてしまいます。
例えばボタンを、固定している1行目から5行目の間に置くか、表の下部の20行目くらいに縦に4個、5列並べると隠れないと思うのですが、できればスクロールしてもボタンがそのままの位置にとどまってくれればいいなと思っています。
先ほど書きましたようにP7とQ7付近を先頭に10個、2列を縦に並べた時、表をスクロールしてもボタンは元の位置にとどまって、ボタンが隠れないようにすることができるのでしょうか?
私はVBAには詳しくなくマクロの記録を利用して作成しています。ボタンは図形で作成しその図形に右クリックでマクロの登録をしています。
そんなエクセル初級の私が作成した表ですが、上記の事が出来たらと思い質問をさせてもらいました。
文章での表現なのでわかりにくいとは思いますがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
ユーザーフォームを使えば簡単ですが、覚えてみませんか?
画面をスクロールさせても、ユーザーフォームは位値を変えません。
マクロ編集画面で、
[挿入]→[ユーザーフォーム]
ここで、必要な個数のボタンを並べたウィンドウを作ります。
各ボタンのマクロは、作成したボタンをダブルクリックして書き込めます。
内容は
Private Sub CommandButton1_Click()
Selection = "名前"
End Sub
これだけです。
ボタンの数だけマクロを用意します。
メインのシート上には、
そのユーザーフォームを表示させるためのボタンを配置。
そのボタンに割り当てるマクロは、
Sub ボタン1_Click()
UserForm1.Show vbModeless
End Sub
これだけです。
以外と簡単だって思いません?

早速ご教授を参考に行ってみました。こういう事ができるのですね。
また一つエクセルに関して知識が増えました。
本当にありがとうございました。

No.3
- 回答日時:
デザインモードでコントロールを右クリックして表示されるメニューから「セルの変化に合わせて移動やサイズ変更〜云々」というのを選択できたと思いますよ。
私はボタンやオブジェクトをあまり増やしたくないので、ボタンが一つや二つでは済まなそうな時は、セルをクリックしたりダブルクリックするイベントや値が変わった時のイベントをマクロのトリガーにしたりしています。
宜しかったら、そんな方法もありますよ程度で参考にしてみてください。
No.2
- 回答日時:
こんにちは
>上記の事が出来たらと思い質問をさせてもらいました。
直接的な回答ではありませんが、20個のボタンの運用は大変では無いかと思います。
どのような時、条件でボタンを押すのか分かりませんが、20のマクロ 1つに纏める事が出来そうに思います。(20を2つかも)
多分、ボタンのある列などが出力(処理)対象になっていると推察出来るのですが、選択しているセル(列)など(取得・処理)条件を増やして
マクロを纏めて(条件などで処理を分ける)ボタンの数を減らすのは、どうでしょう。
記録マクロから一歩進む必要がありますが、、
複数のコードをコピペ(情報などはダミーで)して
まとめ方のアドバイスを探るのも1つの方法かも、、
纏めようのない処理だったらごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【Excel VBA】マクロボタンを表のスクロールやフィルタに左右されず固定できないですか?
Excel(エクセル)
-
スクロールしてもボタンを常に表示させたい。Excel2002
Excel(エクセル)
-
excel スクロールしても常にボタンが表示される様にしたい。
PowerPoint(パワーポイント)
-
-
4
VBA(エクセル)のユーザーフォームの固定
Visual Basic(VBA)
-
5
エクセルで、マクロボタンの表示位置を固定
その他(Microsoft Office)
-
6
エクセルでマクロボタンを動かさないようにするには
Excel(エクセル)
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
9
Excelでワードアートや図を常に上部に表示させたい
Excel(エクセル)
-
10
WEBのようにスクロールすると付いてくる表
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
13
Excel:コマンドボタンの移動
Excel(エクセル)
-
14
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
15
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
16
Excel フォームで作成したボタンを固定したい
Excel(エクセル)
-
17
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
18
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
19
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
20
2画面表示でのVBAのボタン押下後のform表示の位置
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】マクロボタンを表...
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
マクロで作ったボタンのサイズ...
-
マクロを登録しているボタンが...
-
入力済み、選択したセルに連動...
-
エクセルで、オプションボタン...
-
ユーザーフォームをショートカ...
-
フォームコントロールから作っ...
-
エクセルでグループボックスを...
-
Excel ラジオボタンのリセット...
-
UPS警告音を止めたい
-
Excel ボタンが小さくなる
-
複数シートのボタンに同一の動...
-
エクセルでマクロボタンを押す...
-
APEXをパソコンでしようとゲー...
-
Excelで、ボタンにコメントをつ...
-
トグルボタンをオプションボタ...
-
エクセルVBA フォームへ動...
-
テキストボックスを消すVBA
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
マクロを登録しているボタンが...
-
【Excel VBA】マクロボタンを表...
-
Excelで、ボタンにコメントをつ...
-
入力済み、選択したセルに連動...
-
エクセルの画面にユーザーフォ...
-
複数シートのボタンに同一の動...
-
マクロで作ったボタンのサイズ...
-
オブジェクト名をVBAで指定...
-
エクセルで、オプションボタン...
-
EXCELのマクロが 実行時エラー5...
-
ユーザーフォームをショートカ...
-
Excel ラジオボタンのリセット...
-
フォームコントロールから作っ...
-
トグルボタンをオプションボタ...
-
エクセルでマクロボタンを押す...
-
VBAでオプションボタンなどそれ...
-
【Excel】行移動ボタンを沢山作...
-
ボタンを押しただけで発生する...
おすすめ情報