| 
    
     |  | 初めて質問します。VBA初心者です。 
 【やりたい事】
 ワークシート「テンプレート」をコピーし、「WBSリスト」にある名前をワークシート名に
 して、空白行を削除した後、「WBSリスト」にある全部の名前のワークシートを作成
 する。
 
 【やってみた事】
 1.ワークシート「テンプレート」をコピーし、「WBSリスト」にある名前をワークシート名に
 して、「WBSリスト」にある全部の名前のワークシートを作成する。
 ↓
 Sub 経費予算資料作成()
 Application.ScreenUpdating = False
 
 Dim i As Long
 For i = 2 To Sheets("WBSリスト").Cells(Rows.Count, "A").End(xlUp).Row
 Sheets("テンプレート").Copy after:=Sheets(Sheets.Count)
 ActiveSheet.Name = Sheets("WBSリスト").Cells(i, "A")
 Range("A1") = Sheets("WBSリスト").Cells(i, "A")
 Next i
 
 End Sub
 ↓
 これは上手くいきました。
 
 2.アクティブなワークシートの空白行を削除する。
 ↓
 Sub test空白行を削除する()
 Application.ScreenUpdating = False
 
 Dim j As Long
 For j = 630 To 2 Step -1
 If Range("R" & j).Value = "空白行" Then
 Rows(j).Select
 Selection.Delete shift:=xlUp
 End If
 Next j
 End Sub
 ↓
 これも上手くいきました。
 
 3. 1.+2.ワークシートを作成したら、空白行を削除して
 次のワークシートを作成する。
 ↓
 Sub test経費予算資料作成空白行削除()
 Application.ScreenUpdating = False
 
 Dim i As Long
 For i = 2 To Sheets("WBSリスト").Cells(Rows.Count, "A").End(xlUp).Row
 Sheets("テンプレート").Copy after:=Sheets(Sheets.Count)
 ActiveSheet.Name = Sheets("WBSリスト").Cells(i, "A")
 Range("A1") = Sheets("WBSリスト").Cells(i, "A")
 
 Dim j As Long
 For j = 630 To 2 Step -1
 If Range("R" & j).Value = "空白行" Then
 Rows(j).Select
 Selection.Delete shift:=xlUp
 End If
 Next j
 
 Next i
 End Sub
 ↓
 失敗しました!!
 
 1.と2.を合体させることができません。
 3.のプロシージャの訂正、或いは何かいい方法はないでしょうか。
 
 よろしくお願いいたします。
 以上
 
 |  |