シートに連動しないアクティブXボタン配置は可能か | |
---|---|
[196404] シートに連動しないアクティブXボタン配置は可能か- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ VBA初心者 -(2025/01/06(22:02)) □U R L/ AシートにアクティブXコマンドボタンを配置した場合に (アクティブXコマンドボタン:命令内容→AシートからBシートに移動) アクティブXボタンを押下すると Bシートに移動しても このアクティブXコマンドボタンが そのままBシートで Aシートで配置した同じ場所の Bシートにそのまま残しておく 事は可能でしょうか? 要するにコマンドボタンは シートに連動せず シートの当該箇所に そのまま配置しておくような コマンドボタンを作成できるでしょうか? どなたかご教示いただけますと幸いです WIN11です ++++++++++++++++++++ OS ⇒OTHER Version⇒Excel 2007 ++++++++++++++++++++ |
[196405] Re[1]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/07(13:04)) □U R L/ ユーザーフォームのコントロールではダメなのでしょうか? |
[196406] Re[2]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ VBA初心者 -(2025/01/07(13:10)) □U R L/ OKさん、 ありがとうございます >ユーザーフォームのコントロールではダメなのでしょうか? ユーザーフォームのコントロールでも 同様のことができれば、Okです。 ご教示いただけますと幸いです |
[196407] Re[3]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(07:53)) □U R L/ ユーザーフォームに関する参考HPです。 ht tps://www.moug.net/tech/exvba/0091.html ht tps://www.moug.net/tech/exvba/0090042.html |
[196408] Re[4]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(08:49)) □U R L/ ユーザーフォームは特定のシートには属してないので、シートやセルを操作するコードを書く場合は シートを明示してやる必要があります。 Rnage("A1").Value = "あああ" その時アクティブになっているシートのA1セルに対して処理が行われます。 ThisWorkbook.Worksheets("Sheet1").Rnage("A1").Value = "あああ" 自ブックのSheet1のA1セルに対して処理が行われます。 Workbooks("aa.xlsx").Worksheets("Sheet1").Rnage("A1").Value = "あああ" 開いている他のブックaa.xlsxのSheet1のA1セルに対して処理が行われます。 |
[196409] Re[5]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(10:43)) □U R L/ 単にシートの切り替えをしたいだけならこんな方法もあります。 ht tps://xtech.nikkei.com/atcl/nxt/column/18/00286/081700276/ |
[196410] Re[6]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(10:56)) □U R L/ 勘繰り回答です。 どのシートがアクティブの状態でもSheet1に一発で戻りたい、と いうことでしたら、Shedet1のA1セルを名前の定義しておいて、 名前ボックスから定義した名前を選択してジャンプ、という方法 もあります。 他には、やりたい作業をショートカットキー登録する方法も。 ht tps://qiita.com/o-tea6221/items/b02c83b62a6a26627e41 また、右クリックメニューに独自の作業を登録する、メニューバー に独自の作業を登録する方法も。 |
[196411] Re[6]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ VBA初心者 -(2025/01/08(15:06)) □U R L/ OKさん、 ありがとうございます ただし、 私が希望している事は 複数のシートがある場合に (例えば10個作成済みのシート) 同じ10個のボタンが10の全シート5行目あたりに横並びに 配置されて そのボタンを押下すると 該当のシートに移動するような動作です ご回答の三番目で >単にシートの切り替えをしたいだけならこんな方法もあります。 という似たダイアログ画面がありますが >ht tps://xtech.nikkei.com/atcl/nxt/column/18/00286/081700276/ht >tps://xtech.nikkei.com/atcl/nxt/column/18/00286/081700276/ >シートの数が増えると、全てのシートタブを一度に表示できなくなる。その場合、>シートタブの左端にある右または左のスクロールボタン(矢印)をクリックして、>目的のシートタブを表示する。 となっていますが、 これでは 毎回 シートタブの左端にある右または左のスクロールボタン(矢印)をクリック するという動作が別途必要です あらかじめ上記のようなダイアログ画面が各シートに開いてはいないのが不便です 私の希望のような各シートにあらかじめ配置しておく 複数のコマンドボタンは (自分が指定した該当のシートに移動する) 出来ないでしょうか? |
[196412] Re[7]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(16:03)) □U R L/ シートの増減はあるのでしょうか? シートが増えた場合は増えたシートにジャンプするボタンを追加するのでしょうか? シート数が多い場合、ボタンが多くなり扱いづらくなるような気がします。 '標準モジュール Sub sht() Worksheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text).Activate End Sub どこかのシートにシェイプを配置し、シェイプのテキストに"Sheet1"と入力、シェイプを右クリックで「マクロの登録」で 「sht」を選択 ↓ シェイプをCtrlキーを押しながらドラッグしてコピー、テキストを"Sheet2"と修正 ↓ シェイプを必要なだけコピーしテキストを修正する 作成したシェイプを全部選択(オブジェクトの選択でドラッグで範囲指定するか、Ctrlキーを押しながらシェイプ をクリックしていく)しコピー ↓ 貼り付けたいシートをアクティブにしてシェイプを貼付け これを貼り付けたいシート分だけ繰り返す これで、シート名のシェイプをクリックしたらそのシートにジャンプします。 ただし、この方法はジャンプしたいシートが追加になったときに面倒です。 私ならユーザーフォームを使うか、シート一覧を表示する方法を選択します。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196413] Re[8]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(16:17)) □U R L/ シートの切り替えなら、マクロなどを使わなくても Ctrl+PageDown Ctrl+PageUp で左右のシートへ移動、という方法もあります。 慣れたらそんなに面倒ではないと思いますが。 |
[196414] Re[9]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(16:28)) □U R L/ 余談ですが。 ウィンドウの切り替えの方法です。 Altキーを押しながらTabキーを押すことによってウィンドウ一覧が 表示されアクティブなウィンドウを切り替えられます。 Alt+ESCキーはウィンドウ一覧が表示されることなく直接ウィンドウ が切り替わります。 |
[196415] Re[9]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ VBA初心者 -(2025/01/08(16:45)) □U R L/ OKさん、 ありがとうございます。 >シートの増減はあるのでしょうか? 10個です >私ならユーザーフォームを使うか、シート一覧を表示する方法を選択します。 私の希望は 左端から 最初のシート :シート名「名前:あいう」 2番目のシート:シート名「名前:かきく」 3番目のシート:シート名「名前:たちつ」 4番目のシート:シート名「名前:はひふ」 ・ ・ 10番目のシート:シート名「名前:やゆよ」 とある場合に どのシートの5行目あたりにも 各シート名のついたボタンが横並びに10個あって 自分が移動したいシート名のボタンをクリックすると 該当のシートに移動できるというものです それが、貴殿の '標準モジュール Sub sht() Worksheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text).Activate End Sub と同じものでしょうか? それが、私の希望のものであれば、 解決といたします 恐れ入ります よろしくお願いいたします この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196416] Re[10]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(17:10)) □U R L/ Sub sht() Worksheets(ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text).Activate End Sub アクティブシートのシェイプのテキストが「あいう」だった場合、 「sht」マクロを呼び出したシェイプのテキストと同じ名前のシート(今回は「あいう」)をアクティブにせよ というマクロになります。 なので、 どのシェイプからも同じマクロを呼び出しています。 マクロを複数作る必要が無くなります。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196417] Re[11]: シートに連動しないアクティブXボタン配置は可能か- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2025/01/08(17:22)) □U R L/ こういう方法ではダメですか? ht tps://dekiru.net/article/22030/#:~:text=%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E3%81%84,OK%EF%BC%BD%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82 |
[196418] Re[12]: シートに連動しないアクティブXボタン配置は可能か- ■ / 記事引用/メール受信=OFF■ □投稿者/ VBA初心者 -(2025/01/08(17:47)) □U R L/ OK さん 何度もありがとうございました。 上記等の方法でやってみます 大変お世話になりました。 |
このトピックに書きこむ |
---|