|
初めて質問します。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.のプロシージャの訂正、或いは何かいい方法はないでしょうか。
よろしくお願いいたします。
以上
|
|