- ベストアンサー
VBAを使用したシートの自動作成とシート名付与
- VBA初心者の方が、ファイル内の生徒名簿を元に個人シートを作成する方法を教えてください。
- 作成するシート名は「生徒番号_個人名」としたいです。
- また、テンプレートシート名も「生徒No._氏名」となり、シート内の該当箇所に情報が入るようになっています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
テンプレートシートが一体どこにあるのか不明のため,生徒名簿ブックに含まれているとして。 生徒シートをどこに作りたいのか不明なので生徒名簿ブックに追加することにして。 sub macro1() dim r as long dim txt as string with worksheets("名簿") for r = 5 to .range("A65536").end(xlup).row txt = .cells(r, "A").text & "_" & .cells(r, "E").value worksheets("【テンプレート】生徒No._氏名").copy after:=worksheets(worksheets.count) activesheet.name = txt next r end with end sub みたいにします。
その他の回答 (1)
- tsubuyuki
- ベストアンサー率45% (699/1545)
おっしゃる「テンプレート」が、エクセルにおける「テンプレート」だとして。 参考:http://office.microsoft.com/ja-jp/excel-help/HA010218874.aspx Sub Sample() For i = 5 To Cells(Rows.Count, 1).End(xlUp).Row Sheets.Add(Type:="テンプレートのフルパス", _ after:=Worksheets(Worksheets.Count)).Name = _ Format(Sheets(1).Cells(i, 1), "000000") & "_" & Sheets(1).Cells(i, 5) Next End Sub
補足
ありがとうございます! テンプレートとは同一ファイル内に用意された決められた書式のシートです。 記述が漏れてしまい申し訳ございません。
お礼
ありがとうございます! 希望していた通りの結果が得られてとても助かりました。 これを手作業で…と落ち込んでいたのでとてもうれしいです。