- ベストアンサー
【Excel VBA】セルに入力されている値と同じ名前のシートにデータをコピーする
Excel2003を使用しています。 Sheet1のC2セル以下に入力されている値と同じ名前のシートに、その行のデータをコピーする作業をマクロで処理したいのですが、セルに入力されている値と同じ名前のシートを取得する方法がわかりません。 どのようにコードを書いたらいいのでしょうか? ちなみに、Sheet1のC2セル以下に入力されている値(=シート名)は、文字列(4桁の数字)です。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
この間の続きですか >Sheet1のC2セル以下 ということはC2、C3、C4… と続くのでしょうか? ptr = 2 Sheets(Sheets("Sheet1").Cells(ptr, "C").Value).Range("A1") でSheet1のC2セルの値のシートのA1セルを示すことができます。ptrをカウントアップすればC3,C4…も処理できます。 貼り付けの方は情報がないので書けません。悪しからずです
お礼
早々に回答いただき、ありがとうございます。 >この間の続きですか このまえと同種のBookなので、シート名は同様なのですが、処理内容としては、別のものです(^^) 教えていただいた方法で、セルに入力されている値と同じ名前のシートを取得することはできました。貼り付けのほうは、自分でやってみようと思って、質問文には記載していませんでしたが、私には少し難しかったようで…(~_~;) やりたいこととしては、Sheet1のC2セル以下(C2,C3,C4…と続きます)に入力されている値と同じ名前のシートに、その行のデータを値のみ順番に貼り付けたいと思っています。 例えば、Sheet1のC2セルに「1234」と入力されていたら、「1234」シートに、その行のデータを貼り付け、Sheet1のC3セルに「1235」と入力されていたら、「1235」シートに、その行のデータを貼り付け…といった感じです。 また、Sheet1のC4セルに「1234」と入力されていたら、「1234」シートの前の処理(この場合はC2セルの処理)で貼り付けられたデータの下に、C4セルの行のデータを貼り付けるというふうに、Sheet1のC列に入力されている値を元に、それぞれのシートへ順番にデータをコピーしたいのです。 うまく表現できなくて、わかりづらいと思いますが、よろしくお願いします。