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

解決済みの質問

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

Excel2003を使用しています。

Sheet1のC2セル以下に入力されている値と同じ名前のシートに、その行のデータをコピーする作業をマクロで処理したいのですが、セルに入力されている値と同じ名前のシートを取得する方法がわかりません。
どのようにコードを書いたらいいのでしょうか?

ちなみに、Sheet1のC2セル以下に入力されている値(=シート名)は、文字列(4桁の数字)です。

よろしくお願いします。

投稿日時 - 2007-11-21 17:02:17

QNo.3536377

暇なときに回答ください

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

この間の続きですか
>Sheet1のC2セル以下
ということはC2、C3、C4… と続くのでしょうか?

ptr = 2
Sheets(Sheets("Sheet1").Cells(ptr, "C").Value).Range("A1")

でSheet1のC2セルの値のシートのA1セルを示すことができます。ptrをカウントアップすればC3,C4…も処理できます。

貼り付けの方は情報がないので書けません。悪しからずです

投稿日時 - 2007-11-21 17:11:42

お礼

早々に回答いただき、ありがとうございます。

>この間の続きですか

このまえと同種のBookなので、シート名は同様なのですが、処理内容としては、別のものです(^^)

教えていただいた方法で、セルに入力されている値と同じ名前のシートを取得することはできました。貼り付けのほうは、自分でやってみようと思って、質問文には記載していませんでしたが、私には少し難しかったようで…(~_~;)

やりたいこととしては、Sheet1のC2セル以下(C2,C3,C4…と続きます)に入力されている値と同じ名前のシートに、その行のデータを値のみ順番に貼り付けたいと思っています。

例えば、Sheet1のC2セルに「1234」と入力されていたら、「1234」シートに、その行のデータを貼り付け、Sheet1のC3セルに「1235」と入力されていたら、「1235」シートに、その行のデータを貼り付け…といった感じです。
また、Sheet1のC4セルに「1234」と入力されていたら、「1234」シートの前の処理(この場合はC2セルの処理)で貼り付けられたデータの下に、C4セルの行のデータを貼り付けるというふうに、Sheet1のC列に入力されている値を元に、それぞれのシートへ順番にデータをコピーしたいのです。

うまく表現できなくて、わかりづらいと思いますが、よろしくお願いします。

投稿日時 - 2007-11-22 11:52:31

ANo.1

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

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

回答(1)

あなたにオススメの質問