введите описание изображения здесь У меня сейчас техническая проблема при объединении нескольких CSV-файлов. У меня есть папка, содержащая 260 файлов с одинаковым форматом данных. Я хочу выбрать Столбец E, Строка 25-Row124, в каждом из них, и объединить их в новый CSV-файл. Используя код, приведенный в этой ссылке, я могу сделать это красиво и быстро https://answers.microsoft.com/en-us/msoffice/forum/all/using-excel-macros-to-extract-data-from-a-spe... Однако они не объединены в том порядке, в котором я хочу, поэтому в выходном файле CSV есть данные, которые я не могу выяснить, из какого столбца какойфайл. Поскольку мои файлы все в именах чисел как 1520 + 0-2, 1520 + 0-4 ... 1520 + 15-2, 1520 + 15-4 ... не в алфавитном порядке. Как я могу решить эту проблему.
Код макроса, который я изменил для моего случая, указан ниже:
Sub Merge_All_CSV_in_a_new_CSV()
Const sC$ = "E" '<< search in column E
Const N As Integer = 25 '<< csv data from row 25 up to last row
Const SourcePath = "\\filestore.soton.ac.uk\users\qz1d17\mydesktop\AnisotropyTest1017\" '<< change path as needed
Const TargetPath = "\\filestore.soton.ac.uk\users\qz1d17\mydesktop\merge-anisoropy.csv" '<< change path and file name as needed
Dim wb As Workbook, wb1 As Workbook
Set wb = ThisWorkbook
Application.ScreenUpdating = False
Dim L As Long, c As Long
Dim sFile As String
sFile = Dir(SourcePath & "*.csv")
wb.Sheets.Add before:=wb.Sheets(1)
c = 1
Do While sFile <> ""
Set wb1 = Workbooks.Open(SourcePath & sFile, xlDelimited, local:=True)
L = wb1.Sheets(1).UsedRange.Rows.Count
wb1.Sheets(1).Range(Cells(N, sC), Cells(L, sC)).Copy wb.Sheets(1).Cells(1, c)
c = c + 1
wb1.Close False
sFile = Dir()
Loop
Application.DisplayAlerts = False
wb.Sheets(1).Copy
ActiveWorkbook.SaveAs Filename:=TargetPath, FileFormat:=xlCSV, local:=True
ActiveWorkbook.Close False
wb.Sheets(1).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Пожалуйста, помогите мне запустить этот код в нужном мне порядке.