|
あるExcelファイルに10シートありまして、そのシートたちのセル(B2)に値があれば、そのシートたちだけ、コピーして新しいファイルを作成するというVBAを考えています。自分なりに作成したのですが、
Option Explicit
'モジュール変数
'新規ワークブック名
Dim strNewWorkbookName As String
Function f_NewWorkbook() As String
Workbooks.Add
f_NewWorkbook = ActiveWorkbook.Name
End Function
Sub シート出力2()
strNewWorkbookName = f_NewWorkbook()
i=1
Do
If ThisWorkbook.Sheets(i).Range(B2).Value <> "" Then
ThisWorkbook.Sheets(i).Copy Before:=Workbook(strNewWorkbookName).Sheets(i)
i=i+1
End If
Loop
End Sub
と作成しましたが、範囲が有効ではありません とエラー表示がでます。
どこが間違っているのでしょうか? 教えて下さい。
|
|