みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

よろしくお願いします。

シートがsheet1からsheet10まであります。

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

A1セルに入力したシート名と同じシートを参照するようなコマンドであると助かります。

投稿日時 - 2012-05-16 13:12:53

QNo.7478669

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>A1セルに入力したシート名と同じシートを参照するような

Sheet1のA1にSheet6とか記入するとして。

素直に
worksheets(worksheets("Sheet1").range("A1").value).select
とかでいいです。

投稿日時 - 2012-05-16 18:26:57

お礼

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

投稿日時 - 2012-05-17 09:52:06

ANo.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と設定すればいいと思います。

投稿日時 - 2012-05-16 14:34:14

お礼

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

投稿日時 - 2012-05-17 09:53:34

ANo.1

文字列の変数で受ければ良いだけの話なんじゃ?例えば

Dim SHEET_N as String

としておいて(しなくても良いかもだけど)

SHEET_N = Cstr(Sheets("Sheet11").Range("A1").Value)
Sheets(SHEET_N).Activate

とかですかね。要は「文字列変数にシート名を設定」すれば
良いだけの話です。

投稿日時 - 2012-05-16 13:33:54

お礼

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

投稿日時 - 2012-05-17 09:55:14

あなたにオススメの質問