• 締切済み

EXCEL 任意のシートを選択するマクロ

よろしくお願いします。 シートがsheet1からsheet10まであります。 マクロのコマンドで、sheets("sheet1") 等がありますが、 sheet11のA1セルに入力したシート名(たとえば、sheet6)を このマクロのコマンドに当てはめる事はできないものでしょうか? A1セルに入力したシート名と同じシートを参照するようなコマンドであると助かります。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>A1セルに入力したシート名と同じシートを参照するような Sheet1のA1にSheet6とか記入するとして。 素直に worksheets(worksheets("Sheet1").range("A1").value).select とかでいいです。

Jail3
質問者

お礼

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

  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

Sheet11のシート名のところで右クリック→コードの表示を選択して貼り付けて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub mySh = "sheet" & Range("A1") Sheets(mySh).Select End Sub Sheet6を開きたい時はA1に6を入力 A1の表示をSheet6としたいのであれば書式で"Sheet"0と設定すればいいと思います。

Jail3
質問者

お礼

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

  • FEX2053
  • ベストアンサー率37% (7995/21381)
回答No.1

文字列の変数で受ければ良いだけの話なんじゃ?例えば Dim SHEET_N as String としておいて(しなくても良いかもだけど) SHEET_N = Cstr(Sheets("Sheet11").Range("A1").Value) Sheets(SHEET_N).Activate とかですかね。要は「文字列変数にシート名を設定」すれば 良いだけの話です。

Jail3
質問者

お礼

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

関連するQ&A