|
>最後にKill "output.xls"として,"output.xls"自体消去させ,マクロが終了
ということは、最初は "output.xls" が存在するかも知れないが、2回目の実行以後
は必ず新規ブックを作成することになりますよね ? ならば初めから新規ブックを
作業用に作れば、無駄に特定のブックを探す必要はなくなると思います。
例えば・・・
Sub MyData_Copy()
Dim DefS As Integer, SCnt As Integer, i As Integer
Dim MyB As Workbook
SCnt = ThisWorkbook.Worksheets.Count
With Application
DefS = .SheetsInNewWorkbook
.SheetsInNewWorkbook = SCnt
.ScreenUpdating = False
End With
Set MyB = Workbooks.Add
For i = 1 To SCnt
MyB.Worksheets(i).Range("A1:A50").Value = _
ThisWorkbook.Worksheets(i).Range("A1:A50").Value
Next i
'ここへ 「データを利用して,さらに別ブック(例えば"result.xls")に
'必要なデータだけを貼り付けて,別ブックで最終計算」するコードを入れる。
MyB.Close False: Set MyB = Nothing
With Application
.SheetsInNewWorkbook = DefS
.ScreenUpdating = True
End With
End Sub
というコードを、マスターとなるブック("base.xls")に入れて実行すれば
良いと思います。新規作成したブックは、保存せずに閉じると当然、
"初めから存在しなかった"ことになるので、探したり削除したりする必要が
なくなります。
|
|