- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAの表からシートを作成したい)
VBAの表からシートを作成する方法
このQ&Aのポイント
- VBAを使用して「ユーザー情報」シートのC列に氏名を記入し、マクロを実行すると、氏名ごとに「雛形」を元にしたシートが連続でコピーされます。
- しかし、1度実行した後に新たにC列に氏名を追加しても、その分のコピーが作成されません。
- 解決策についてアドバイスをいただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
追加したときに最初にあったシート名でエラーになって"雛形 (2)"を削除して終わっているからです。 このようなかたちでいかがですか。 Sub Test() Dim ws As Range, sh As Worksheet Dim flg As Boolean With Worksheets("ユーザー情報") For Each ws In .Range(.Cells(2, "C"), .Cells(Rows.Count, "C").End(xlUp)) flg = False For Each sh In Worksheets If sh.Name = ws Then flg = True Exit For End If Next sh If flg = False Then Worksheets("雛形").Copy After:=Worksheets(Worksheets.Count) ActiveSheet.Name = ws.Value End If Next ws End With End Sub
お礼
ご回答ありがとうございます。 いただいた構文だけでは実行時エラーが出て雛形(2)が作成されてしまったためGoToステートメントで回避しました。