Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


37173 / 76738 ←次へ | 前へ→

【44739】Re:新規ブックの処理について
回答  Kein  - 06/11/30(木) 15:45 -

引用なし
パスワード
   >最後に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")に入れて実行すれば
良いと思います。新規作成したブックは、保存せずに閉じると当然、
"初めから存在しなかった"ことになるので、探したり削除したりする必要が
なくなります。
 

0 hits

【44727】新規ブックの処理について tomo 06/11/30(木) 11:19 質問
【44728】Re:新規ブックの処理について Jaka 06/11/30(木) 13:41 発言
【44751】Re:新規ブックの処理について tomo 06/11/30(木) 17:12 お礼
【44739】Re:新規ブックの処理について Kein 06/11/30(木) 15:45 回答
【44757】Re:新規ブックの処理について tomo 06/11/30(木) 18:38 質問
【44794】Re:新規ブックの処理について Kein 06/12/1(金) 15:38 発言
【44801】Re:新規ブックの処理について tomo 06/12/1(金) 16:58 お礼

37173 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free