ここから本文です

Excel VBAでセルに入力されたシート名を参照したいときどうすればよいでしょうか。

erg********さん

2014/1/519:50:05

Excel VBAでセルに入力されたシート名を参照したいときどうすればよいでしょうか。

セルB2からセルD2までの3つのセルにそれぞれ文字が入力されています。
B2="4月"、C2="第1週"、D2="支出"だとします。
このとき、"4月第1週支出"というシートを参照させたいのですが、
workbooks("book1").worksheets("B2"&"C2"&"D2").cells.copy
ではうまくいきません。どのようにすればよいでしょうか。

補足ありがとうございます。おかげさまでコピーまでいうまく行きました
同じように複数のセルに書かれてある文字列を結合したものがタイトルとなっている、メモ帳ファイルを開くにはどうすればよいのでしょうか。
これまではマクロでセルに指定した文字列を入力させて、その文字列のタイトルのメモ帳ファイルを開くには以下のようにしてできていました。

Open "C:\Users\Documents\INPUT\" & model(a) & "\" & type(b) &"\INPUT.txt" For Output As #1
これをセルに書かれてあるものにしたがって、ファイルを開かせるようにするにはどのようにすればよいのでしょうか。

もしよろしければこの問題もお答えいただけないでしょうか。

閲覧数:
5,287
回答数:
1

違反報告

ベストアンサーに選ばれた回答

ich********さん

2014/1/520:06:20

こんばんわ。
B2="4月"、C2="第1週"、D2="支出"が入力されているのがSheet2だとして、
貼り付けるシートがSheet3だとすると、以下のマクロで出来ると思います。
うまくいくといいですね。

Sub Macro1()
Dim SheetName As String
SheetName = Sheets("Sheet2").Range("B2") & Sheets("Sheet2").Range("C2") & Sheets("Sheet2").Range("D2")
Sheets(SheetName).Activate
Sheets(SheetName).Cells.Copy
Sheets("Sheet3").Activate
Sheets("Sheet3").Range("A1").Select
ActiveSheet.Paste
End Sub

質問した人からのコメント

2014/1/5 21:36:24

笑う うまくいきました。ありがとうございました。補足の質問は新しく質問しなおしているため、もしよろしければお答えいただけたらと思います。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる