Поиск через загруженный CSV-файл с; в качестве разделителя - PullRequest
0 голосов
/ 28 апреля 2020

Я загрузил CSV-файл в виде двумерного массива в память со следующим кодом:

Sub readcsv()
Dim wbCSV As Workbook
Dim Data As Variant

Application.ScreenUpdating = False

Set wbCSV = Workbooks.Open(Filename:="C:\Users\File.csv")

With wbCSV
    Data = .Sheets(1).UsedRange.Value
    .Close
End With

End Sub

следующий шаг: я хочу найти данные и выбрать некоторые. Дело в том, что я хочу сделать это, не открывая сам CSV. есть ли способ поиска через загруженный массив? Я также знаю ij об интересных данных в CSV. CSV использует; в качестве разделителя. с этим кодом

data(i,j)

Я ожидаю, что элемент в ячейке ij, но он возвращает бессмысленную строку. Таким образом, вопрос в том, признает ли vba; как разделитель, когда файл загружается таким образом? или мне нужно упорядочить загруженные данные в виде матрицы и затем вызвать конкретную ячейку c?

update:

Я обнаружил, что

data(i,j)

возвращает странную строку, поскольку vba считает ее разделителем. Так, например, когда в 5-й строке у меня есть a; b; 1,2345; c data (5,2) возвращает 2345; c

спасибо

1 Ответ

0 голосов
/ 06 мая 2020

Вы можете открыть файл CSV в виде текстового файла, используя File I / O, l oop через данные построчно, пока не найдете то, что ищете, а затем закройте файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...