Страницы: 1
RSS
Считать последнюю строку в CSV файле через VBA, vba, excel, csv
 
Доброго времени суток!

У меня есть рабочий файл Excel.
Задача: Открыть файл .csv через vba и считать последнюю строку.

На данный момент вот что есть:
Код
    Dim fso, ts
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.OpenTextFile("C:\Users\путь_до_файла\test.csv", 1, True)
    Set ts = Nothing: Set fso = Nothing

Не нашёл в сети функций для подсчёта количества заполненных ячеек поэтому прошу помощи.
 
А зачем вам знать количество заполненных ячеек если вопрос о последней строке?
При открытии сразу разбивайте на строки примерно так
Код
arr = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\Temp\список.txt", 1).ReadAll, vbCrLf)    'массив строк текста целиком
А потом последняя строка будет
Код
tex=arr(ubound(arr))
 
Цитата
Александр Моторин написал:
А зачем вам знать количество заполненных ячеек если вопрос о последней строке?
Я просто не знал как подойти к решению задачи. Точнее я не смог найти эту функцию и подумал, что придётся пересчитывать все строки.
Спасибо Александр, Вы мне очень помогли. Буду играться.
 
Цитата
Александр Моторин написал:
arr = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\Temp\список.txt", 1).ReadAll, vbCrLf)    'массив строк текста целиком
А мне нужно как то обозначить переменную как текстовую?

Код
Dim arr as ...

А то у меня что то пустой массив получается.

Всё отбой. Всё в порядке была лишь небольшая путаница в индексах. Всё работает

Изменено: Владимир Владимров - 28.02.2021 05:40:52
Страницы: 1
Наверх