• ベストアンサー

セルの値と同じ名前のシートをアクティブにするには?

最近、マクロを始めた初心者です。 教えてほしいことは、 セルの値と同じ名前のシートアクティブにして、 そのシートのあるセルをアクティブにしたいと思っています。 例えば、 A1="合計"なら、Sheets"合計"をアクティブにして、"合計"のB1をアクティブにする方法です。 既に、このどこかで質問されている内容かもしれませんが、見つけることが出来ませんでした。 どなたか教えてください!

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんな感じです。 Sub Sample()   Dim strSN As String   ' 変数 strSN にアクティブシートの A1 セルの値を代入   strSN = ActiveSheet.Range("A1").Value   ' 変数 strSN の名前をもつシートをアクティブにする   Worksheets(strSN).Activate   ' 変数 strSN の名前をもつシートの B1 セルをアクティブにする   Worksheets(strSN).Range("B1").Activate End Sub VBA のヘルプで、キーワード   Range, Value, Activate, ActiveSheet, Worksheets を調べて下さい。頑張って^^

vgcf
質問者

お礼

完璧です。 やりたいことが一発で出来ました。 ほんとうにありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kenken0
  • ベストアンサー率24% (46/190)
回答No.2

変数 = セル.Value という形にして、セルの値を取得します。 後は、Sheets(変数).Select というように書いて、シートを選択します。 わからなければ補足で教えてください。

vgcf
質問者

お礼

No.1と同じ方ですか? どちらも大変参考になりました。 うまくいきました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロで、セルの値を参照してジャンプ

    エクセルのマクロで、セルの値を参照して、 別シートにジャンプして貼り付けたいと思っています。 <Sheet1>  |  A  B  C ------------------------------------ 1|  A1  あ  100 2|  B5  い  50 3|  C7  う  80 4|  D3  え  20 5|  E9  お  40 <Sheet2>  |  A  B  C  D  E ------------------------------------ 1|  あ 2|  100 3|         え 4|         20 5|    い 6|    50 7|       う 8|       80 9|            お 10|            40 といったイメージです。(お分かり頂けますか?) Sheets1!B1:C1を選択し、A1のセルの値を参照して、Sheets2!A1にジャンプして、 行列入れ替えて貼り付ける、といったマクロを組みたいのですが、 セルの値を参照する部分が分かりません。 実際はSheets2の様なシートは複数あり、1つのリストから複数の形式を変えた表を 作りたいと思っています。 Sheets2以降のシートに見出し行を加え、VLOOK関数を組み込んだ表を作っておき、 結果を貼り付けて見出し行を削除する、といったマクロは組めるのですが、 セルを参照してジャンプして貼り付けてくれると便利だと思い質問させて頂きました。 どなたかお知恵を拝借できましたら嬉しいです。 宜しくお願い致しますm(_ _)m

  • エクセルでシート名をセル参照するマクロ

    いつもお世話になっております。 ワークシートをコピーする際、 B1セルの値を複製したシート名にするマクロを と思ってやってみましたが、 Sub Macro1() ' ' Macro1 Macro Sheets("0000").Select Application.CutCopyMode = False Sheets("0000").Copy Before:=Sheets(3) Range("B1").Select Selection.Copy Sheets("0000 (2)").Select Sheets("0000 (2)").Name = "0524" Range("B1").Select End Sub 5行目でB1セルをコピーしましたが、 シート名として命名されたのは、 "0524"という固定の値でした。 (そのときのB1セルの値です) このB1セルは日付データなのですが、 マクロを実行する日によって、 翌日だったり、3日後だったりします。 (営業日ベースなので) どのようにしたら、B1セルの値を シート名に使用できるでしょうか よろしくお願いいたします。

  • 二つのシートのセルを比較して、あるセルの値が一致した場合に、片方のセル

    二つのシートのセルを比較して、あるセルの値が一致した場合に、片方のセルの値を 別のシートに設定するには、どうしたらいいでしょうか? [シート1] --|A---B---C---D---E --+---+---+---+---+--- 01|A1 ??? 02|A2 yyy 03|B1 ??? 04|C1 sss [シート2] --|A---B---C---D---E --+---+---+---+---+--- 01|A1 aaa 02|A3 bbb 03|B0 xxx 04|B1 ccc 05|C1 sss シート1 [Aのセル]とシート2の[Aのセル] を比較し、同じ値だった場合に、 シート2の [B] の値を シート1の[C]に設定するための関数はどのようにしたら良いでしょうか? 最終的に、シート1が --|A---B---C---D---E --+---+---+---+---+--- 01|A1 ??? aaa 02|A2 yyy 03|B1 ??? ccc 04|C1 sss sss となります。 Excelの関数あマクロは、どうしても分からなく質問させてもらいました。 申し訳ありませんが、ご教授宜しくお願い致します。

  • 範囲を他のシートに値を複写したい

    bista excel2007でマクロを作成している超初心者です。 AシートのD2からN20までを、次のシートの同じセルに、値を張り付けるマクロを教えていただきたいです。Aシートの選択範囲をBシートにも適用したいのですが・・・。

  • Excelで、セルと同じ名前のシート名の・・・

    Sheet1のA5セルに『関東』とあり、その隣(B5セル)に、別シートである『関東』と名前がついているシート内のX列合計を求める方法を教えてください。 X列の合計といっても、S列に『自動車』『火災』『傷害』とバラバラに項目が並んでいて、X列の『自動車』のみの合計を算出したいのです。 これまでは =SUMIF(関東.csv!S:X,"自動車",関東.csv!X:X) で値を求めていたのですが、『関東』シートを削除して、翌月に更新された内容の新しいシートをつけると、 =SUMIF(#REF!S:X,"自動車",#REF!X:X) となってしまい、逆に不便でした。 毎月シートを入れなおさなければならないので、何か良い方法があれば、ご教示いただきたいです。 よろしくお願いいたします。

  • シート名をセルの値で参照

    当該シートとは別に1という名前のシートを作ります。 当該シートA2に='1'!B1と書いて、シート1のセルを参照します。 当該シートA1に1と入力して、その値をシート1のシート名として参照したいので、 =' & A1 & '!B1 とか =' & INDIRECT(A1,true) & ' ! b1 と書いてみるのですがうまくいきません。 どうすればうまくいくでしょうか?

  • Excelのマクロを使ってワークシート1にワークシート2のセルの値をコ

    Excelのマクロを使ってワークシート1にワークシート2のセルの値をコピーするマクロを作りたいと思っています。 例えば、ワークシート2のA1~A30のセルには1~30の値が順に入っているとします。 それをA1から3の倍数分、つまりA1,A3,A6,A9,・・・,A27,A30の値を ワークシート1のA1~A11のセルに自動で挿入してくれるマクロってどう作ればいいのでしょうか? わかりにくいかもしれませんが、よろしくお願いします。

  • 【Excel VBA】セルに入力されている値と同じ名前のシートにデータをコピーする

    Excel2003を使用しています。 Sheet1のC2セル以下に入力されている値と同じ名前のシートに、その行のデータをコピーする作業をマクロで処理したいのですが、セルに入力されている値と同じ名前のシートを取得する方法がわかりません。 どのようにコードを書いたらいいのでしょうか? ちなみに、Sheet1のC2セル以下に入力されている値(=シート名)は、文字列(4桁の数字)です。 よろしくお願いします。

  • EXCEL シートの値を求める

    こんにちは。こちらではいつもお世話になっています。 以下のような場合、どのような方法があるのかを教えてください。 ========================== ・1つのブックに複数毎のシート(例:シートA・シートB・シートC)があります。 ・それらシートの同じ箇所のセルの値(例:A1)を別シート(例:シートD)のA1から下に順番に入れたいと思っています。 ・シート枚数が増えても対応できるような方法であれば助かります。 【シートD】   A                  B 1 シートAのA1のセルの値 2 シートBのA1のセルの値 3 シートCのA1のセルの値 ========================== 説明が不十分であれば、申し訳ございません。 宜しくお願いします。

  • セルの値が変ると自動でマクロが実行される。

    セルの値が変ると自動でマクロが実行されるVBAを教えて下さいm(_ _ )m 例えば、シート1のA1の値が変ると、マクロAが実行される。 シート1のA2の値が変ると、マクロBが実行される。 と一つのシート内に複数のイベントを設置したのですが、イマイチわかりません。 知恵をお貸し下さい。

専門家に質問してみよう