Excel VBA質問箱 IV

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

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


15749 / 76734 ←次へ | 前へ→

【66460】Re:同一フォルダのファイルを1つに
回答  UO3  - 10/9/5(日) 5:43 -

引用なし
パスワード
   ▼sagfacttine さん:

補足ありがとうございました。
アップ済みのコードはZ.xlsが存在していたら、それも対象になっちゃいましたが
対象外とする部分を追加しました。
(保存時は上書きになります。)

Option Explicit

Sub Sample()
Dim myFolder As String
Dim newName As String
Dim getBookName As String
Dim newBook As Workbook
Dim numSh As Long, i As Long
Dim okFlag As Boolean
 Application.ScreenUpdating = False
 myFolder = "C:\Documents and Settings\All Users\Documents\test" & "\"
 newName = "Z.xls"   '<=== 統合ブックのブック名
 Set newBook = Workbooks.Add
 numSh = Worksheets.Count
 getBookName = Dir(myFolder & "*.xls")
 Do While getBookName <> ""
  If getBookName <> newName Then
   With Workbooks.Open(myFolder & getBookName)
    If Not IsError(Evaluate("入力シート!A1")) Then
     okFlag = True
     .Worksheets("入力シート").Copy after:=newBook.Worksheets(newBook.Worksheets.Count)
     With newBook
      .Worksheets(.Worksheets.Count).Name = getBookName & "_入力シート"
     End With
    Else
     MsgBox getBookName & "に入力シートがありません"
    End If
    .Close savechanges:=False
   End With
  End If
  getBookName = Dir()
 Loop
 Application.DisplayAlerts = False
 If okFlag Then
  For i = 1 To numSh
   newBook.Worksheets(1).Delete
  Next
  newBook.SaveAs myFolder & newName
  MsgBox "処理が終わりました"
 Else
  MsgBox "フォルダに対象ブックが存在しません"
 End If
 newBook.Close  '処理終了時に作成したブックを表示しときたい場合は、ここを削除。
 Application.DisplayAlerts = True
 Application.ScreenUpdating = True
 Set newBook = Nothing
End Sub

4 hits

【66441】同一フォルダのファイルを1つに sagfacttine 10/9/4(土) 18:06 質問
【66443】Re:同一フォルダのファイルを1つに UO3 10/9/4(土) 18:52 発言
【66453】Re:同一フォルダのファイルを1つに sagfacttine 10/9/5(日) 0:02 お礼
【66444】Re:同一フォルダのファイルを1つに UO3 10/9/4(土) 19:27 回答
【66460】Re:同一フォルダのファイルを1つに UO3 10/9/5(日) 5:43 回答

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