Excelマクロ: ボタンを押すと各シートがアクティブになる方法

このQ&Aのポイント
  • Excelのマクロを利用して、特定のボタンを押すと各シートがアクティブになる方法を教えてください。
  • マクロを使ってボタンをクリックすると、シートが切り替わるようにしたいです。シートの数は固定ではなく、ボタンの数も変動する場合もあります。
  • また、特定のシートやボタンが終わったら作業を停止する指示もマクロに組み込みたいです。どなたかご教授いただけないでしょうか?
回答を見る
  • ベストアンサー

マクロ ボタンを押すと各シートがアクティブになる

1シートにボタンが23個あります。 (ボタンをクリックしてみると、ボタン1、ボタン2と名前ボックスに表示されます。) ボタン1を押すと、シート2をアクティブに ボタン2を押すと、シート3をアクティブに ボタン10を押すと、シート11をアクティブに といった風なマクロを作成したいと考えています。 また、今回はボタンのあるシート含め24ページですが、 23や25の時もあり、最終ページがばらばらです。 「シートが終われば、また、ボタンが終わればその作業をやめる」 ↑うまい言い回しが思いつきませんが... といった指示も記憶させたいです。 分かる方いらっしゃいましたらよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.1

以下のマクロをそれぞれ作成したボタンに設定すれば良いかと思います。 ”Sheet2”の部分は、それぞれ表示したいシートの名前に変えてください。 Sub ボタン1_Click() Dim sh As Worksheet For Each sh In Sheets If sh.Name = "Sheet2" Then Sheets("Sheet2").Select Exit Sub End If Next msg = MsgBox("Sheet2はありません。", vbOKOnly) End Sub

tanpopopoketto5
質問者

お礼

ご回答ありがとうございます。

関連するQ&A

  • マクロ 各シートからシート1に戻るボタンを設置する

    各シートの同じ位置に「シート1に戻る」ボタンを付けるマクロを実行したいです。 前回教えていただいたことから、ボタンを設置するマクロはわかったのですが、 『2枚目以降のシートから、シートが終わるまで、各シートにボタンを設置する』マクロがわかりません。 1枚目は目次?的なページですので、 2枚目以降から、シートが終わるまで、決められた位置に「戻る」ボタンをつける。 という作業をマクロに記憶させたいと考えています。 ※下記は、こちらで教えていただいたものを参考にしたマクロです。 「戻る」という言葉をどこに入れてよいかもわからりません。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・ Sub 戻るボタン設置() With ActiveSheet For i = 1 '幅140、高さ20のボタンを追加 .Buttons.Add(145 * i, 120, 140, 20).Text = i Next i End With End Sub

  • マクロ ボタンと同じ名前のシートをアクティブにする

    ボタンが1シート目に28個並んでいます。 ボタンには、「あああ」「いいい」など、名前が表記されており、まだ「マクロの登録」を行っていません。 「ボタンをクリックすると、ボタンと同じ名前のシートをアクティブにする」 というマクロを、ボタンに登録したいです。 また、常に28個ボタンがあるというわけではありません。25個や、26個になる場合もあります。 ※1シート目にボタンを作り、そのボタンに名前を付ける作業は、   前回教えていただいた下記のマクロを行いました。 Sub ボタン設置() With Worksheets(1) For i = 1 To (Worksheets.Count - 1) nX = 145 * (1 + ((i - 1) Mod 8)) nY = 30 * (1 + Int(i / 8)) .Buttons.Add(nX, nY, 140, 20).Text = Worksheets(i + 1).Range("I2").Value Next i End With End Sub

  • マクロ 戻るボタンを押したらシートの1枚目に戻る

    各シートに「戻る」というボタンを作りましたが、 「ボタンを押したらシートの1枚目をアクティブにする」というマクロを付けたいです。 下記は、『「戻る」というマクロを2枚目のシート以降すべてに付ける』というマクロです。 このマクロの中に、各シートの「戻る」ボタンを押せば、シートの1枚目に戻るような 指示を入れたいです。 分かる方いましたら、お願いします。。。 ※下記のマクロは以前ご回答いただいたマクロを引用したものです。 /////////////////////////////////// Sub 戻るボタン設置() Dim Sht As Worksheet For Each Sht In Worksheets If Not Sht.Name = Worksheets(1).Name Then With Sht For i = 1 To 1 '幅140、高さ20のボタンを追加 .Buttons.Add(900 * i, 10, 140, 20).Text = "戻る" Next i End With End If Next Sht Sheets(1).Select End Sub

  • 戻るボタンをマクロボタンとして表中に置きたい

    最上部にある”戻るボタン(左まきの矢印)”と同じ機能を、シート上にマクロボタンとし作成したいのです。 マクロの記録で”戻るボタン”をクリックした記録が残らないようで、命令文がわかりません。 よろしくお願いします。

  • EXCELのマクロボタン

    いつも楽しく拝見しております。 現在、EXCELの作成したシートに、以下の作業を行うためのコマンドボタンを作成したいと思っています。 【作業手順】 1.ファイルを選択するダイアログボックスを開き、csvファイルを開く。 2.sheet2に内容を取り込む。 以上です。 自分でも調べてみたんですが、なかなか良いサイトが見つからなくて、ご質問させて頂きました。 参考になる記述があるサイトやページがございましたら、ご教授いただければ幸いです。 よろしくお願い致します。

  • マクロボタンを別シートの同じ位置にコピペする

    マクロボタンを別シートの同じ位置にコピペする方法を教えて下さい。 それぞれ別のシートに下記の「図形にマクロを登録する方法」で   それぞれ登録すれば良いのでしょうが、シート数が増加する事が想定されるので   簡単にコピーして同じ位置に配置できればと思っています。   各シートで行うマクロボタンの処理は、全く同じです。  検索すると   クリックアクセスツールバーに登録する   または新しくタブを作成してそのリボンにマクロのボタンを作る  方法もあるようですが、今回はコピペの方法を採用したいです。 ------------------------------  

  • マクロ ボタンに名前をつける

    ☆シート1にボタンが29個あり、 ボタンを押すとシート2やシート3のページをアクティブにして表示するマクロを作っています。 その過程で、シート1にボタンを29個作成するところまでは終わりました。 そして、次にボタン1つ1つに名前を付けたいと思うのですが、 シート2、3、4...のI2のテキストを引用してボタンの名前を付けたいです。 (各シートのタイトルはI2に記入しているため。) シート2のI2のテキストを引用してボタンに名前を付けるマクロを作ってみましたが、 ”広告事業収入”がシート2だとは限らないので、”広告事業収入”を引用せず、 ”シート2のI2”を引用してボタンの名前にするマクロにしていただきたいです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Sub シート2のボタン作成() ' Sheets(2).Select Range("I2").Select ActiveCell.FormulaR1C1 = "広告事業収入" Sheets(1).Select ActiveSheet.Shapes.Range(Array("Button 1")).Select Selection.Characters.Text = "広告事業収入" With Selection.Characters(Start:=1, Length:=9).Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End Sub ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ いらない部分も削除していただけたら幸いです。

  • マクロ ボタンの使い方について

    マクロは初心者です。 チェックボックスとボタンを使って他のシートにデータを抽出したいのですが、どのようにすればよいでしょうか?

  • 新規シートを作成してそのシートにマクロ

    VBAで以下の様なマクロを組みたいです。 新規シートを作成する→その作られたシートにボタンを設置→ボタンにコードを組み込む というマクロを組みたいのですが、そういうのは難しいでしょうか・・・ どなたかよろしくお願いします。

  • sheet間の移動マクロについてご教示下さい

    ボタンをクリックすると、 sheet1のA5に入力されている名前のsheetに移動するマクロをご教示ください。 sheet1のA5には、関数により、その都度変わる名前が表示されるようになっています。 なお、マクロはコードを張り付ける程度の初心者ですので、よろしくお願いいたします。

専門家に質問してみよう