• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを使用した、シートの自動作成とシート名付与)

VBAを使用したシートの自動作成とシート名付与

このQ&Aのポイント
  • VBA初心者の方が、ファイル内の生徒名簿を元に個人シートを作成する方法を教えてください。
  • 作成するシート名は「生徒番号_個人名」としたいです。
  • また、テンプレートシート名も「生徒No._氏名」となり、シート内の該当箇所に情報が入るようになっています。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

テンプレートシートが一体どこにあるのか不明のため,生徒名簿ブックに含まれているとして。 生徒シートをどこに作りたいのか不明なので生徒名簿ブックに追加することにして。 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 みたいにします。

eternel5811
質問者

お礼

ありがとうございます! 希望していた通りの結果が得られてとても助かりました。 これを手作業で…と落ち込んでいたのでとてもうれしいです。

その他の回答 (1)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

おっしゃる「テンプレート」が、エクセルにおける「テンプレート」だとして。 参考: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

eternel5811
質問者

補足

ありがとうございます! テンプレートとは同一ファイル内に用意された決められた書式のシートです。 記述が漏れてしまい申し訳ございません。