- 締切済み
EXCELでシート名を他のシートにあるリストから取得するには?
sheet(1)には、名称のリスト(A(a)・B(b)・C(c)・・・)があり、sheet(2)には、アンケート用紙があります。 このsheet(2)をsheet(1)にある名称リストの分だけ、コピーし、コピーされたsheet(3)以降のシート名称をsheet(1)にある名称から順に取得して(コピーされたシート名称をA・B・C・・・と名付け)、さらに、 名付けられたシート上のある、一つのセルの値をsheet(1)のリスト(a・b・c・・・)を参照するものとしたいのですが、マクロをくめないでいます。 VAB初心者には難しいでしょうか。以下のように組んでみましたが・・・ Sub Macro1() Dim i As Long For i = 2 To 20 Sheet(2).Copy After:=Sheet(i) Range("F:L").Select ActiveCellR1C1 = "=Sheet(1)!R[i]C[-4]" Sheets(1).Range(Cells(i,"B").Value.Select Selection.Copy Sheets(i).Range("F1:L1").Paste Sheets(i).Name = Sheet(1).Cells(i, "A") Next i End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mt2008
- ベストアンサー率52% (885/1701)
SheetsがSheetになっている等のミスは置いておいて…… Sheets(2).Copy After:=Sheets(i) で、Sheets(i)の後ろに、Sheets(i+1)を作っているのに、Sheets(i)を対象にリンクを貼り付けて名称変更……と、やろうとしていますが、対象シートは新規作成したSheets(i+1)ですよね? サンプルコードと画像を貼り付けますので参考にしてください。 Sub Macro1() Dim i As Long For i = 2 To 20 Sheets(2).Copy After:=Sheets(i) With Sheets(i + 1) .Range("F1").Formula = "=Sheet1!B" & i .Name = Sheets(1).Cells(i, "A") End With Next i End Sub セルのリンクは詳細の記述が在りませんでしたので、新規シートのF1にSheet1のB2以降のセルをリンクさせています。