0

誰かが私を助けてくれるのではないかと思います。

以下のコードを使用して、ユーザーが複数のワークブックを異なるフォルダーから 1 つの「概要」ワークシートにマージできるようにしています。

Sub Merge()

      Dim DestWB As Workbook, WB As Workbook, WS As Worksheet, SourceSheet As String
      Set DestWB = ActiveWorkbook
      SourceSheet = "Input"
      startrow = 7
      FileNames = Application.GetOpenFilename( _
      filefilter:="Excel Files (*.xls*),*.xls*", _
      Title:="Select the workbooks to merge.", MultiSelect:=True)
      If IsArray(FileNames) = False Then
          If FileNames = False Then
              Exit Sub
          End If
      End If
      For n = LBound(FileNames) To UBound(FileNames)
          Set WB = Workbooks.Open(Filename:=FileNames(n), ReadOnly:=True)
          For Each WS In WB.Worksheets
              If WS.Name = SourceSheet Then
                  With WS
                      If .UsedRange.Cells.Count > 1 Then
                          dr = DestWB.Worksheets("Input").Range("C" & DestWB.Worksheets("Input").Rows.Count).End(xlUp).Row + 1
                          Lastrow = .Range("C" & Rows.Count).End(xlUp).Row
                          If Lastrow >= startrow Then
                              .Range("A" & startrow & ":AE" & Lastrow).Copy
                              DestWB.Worksheets("Input").Cells(dr, "A").PasteSpecial xlValues
                          End If
                      End If
                  End With
                  Exit For
              End If
          Next WS
          WB.Close savechanges:=False
      Next n
  End Sub

コードは機能しますが、これを少し調整して、ユーザーがマージするファイルを手動で選択する代わりに、マクロがファイル名とファイル パスのリストを読み取り、関連データを自動的にコピーして貼り付けるようにします。 「概要」シートに。

B3:B10 にファイル名がリストされ、C3:C10 に関連するファイル パスがリストされた「リスト」というシートがあるように、サマリー ワークブックを設定しました。「Stackoverflow」を検索して Google 検索を実行しました。このトピックに関する投稿はたくさん見つかりましたが、ファイル名とパスのリストから読み取る方法は示されていませんが、特定のパスをハードコーディングする方法は示されていません。私のニーズに合わないディレクトリ。

誰かがこれを見て、どうすればこれを達成できるかについてのガイダンスを提供できるかどうか疑問に思いました.

多くの感謝と親切な敬意

4

1 に答える 1

1

アドインRDBMergeをご利用ください。

RDBMergeは、複数のExcelワークブック、csv、およびxmlファイルのデータをサマリーワークブックにマージするためのユーザーフレンドリーな方法です。

http://www.rondebruin.nl/merge.htm

于 2013-03-03T16:56:01.677 に答える