Я относительно новичок в VBA, я хотел сделать следующее, если это вообще возможно, в VBA
- Указывать на файл CSV
- L oop через каждую строку
- Используя первое значение каждой строки - сохраните оставшуюся часть строки в указанном c рабочем листе
Мне удалось выполнить пункты 1 и 2 Тем не менее, я борюсь за точку 3
Например: мой CSV-файл выглядит примерно так:
A00,5675,TGI,6897
R88,7647,35968,35864
R88,5968,34531,44566
Z11,2245,FGH,YIU
Я хотел бы прочитать первое значение каждой строки, в этом case, A00, R88, R88 и Z11.
Затем запишите эту указанную строку c в соответствующий лист на основе значения.
Например, строка A00 будет записана в рабочий лист с именем A00 и т. д.
Я получил это далеко для справки:
Sub ImportFile()
Dim ws As Worksheet, strFile As String
strFile = Application.GetOpenFilename("Text Files (*.csv),*.csv", , "Please select text file...") 'Select file
'If first value = A00 - write to ActiveWorkbook.Sheets("A00")
'If first value = Z99 - write to ActiveWorkbook.Sheets("Z99")
Set ws = ActiveWorkbook.Sheets("A00") 'Export to this worksheet
With ws.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh
End With
End Sub
Любая помощь будет высоко ценится.