Страницы: 1
RSS
Вставка из txt начиная с последней заполненной ячейки.
 
Приветствую.

У меня - txt файл с данными.
Скажите - как вставить текст из txt - начиная с последней заполненной строки столбца F ?
 
Цитата
Шурик Владимирский написал: как вставить текст из txt - начиная с последней заполненной строки столбца F ?
Если Вы имели ввиду последнюю строку из файла, то просто в цикле построчно считывайте его содержимое в одну строковую переменную
либо считать всё содержимое файла в строковую переменную, Split'ом по данной строке с разделителем (один из) vbCr/vbLf/vbCrLf и последний элемент строкового массива и будет последней строчкой текстового файла.
Если Вы имеете ввиду запись содержимого текстового файла с конца в таблицу, то выше описанный полученный массив в цикле с последнего элемента заносите в ячейки.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, по моему - там что-то с массивом.

Код вот такой:
Код
Sub readtxt()
Dim FileNameTxt$: FileNameTxt = "D:\15\1.txt"
Dim meData(), i&, sStr$
Dim filenum&: filenum = FreeFile()

LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox "Заполненные ячейки в столбце А: " & Range("A1:A" & LastRow).Address

Open FileNameTxt For Input As #filenum
Do Until EOF(filenum)
Line Input #filenum, sStr
If InStr(1, sStr, "РАЗДЕЛИТЕЛЬ ТЕКСТА") Then 'если нашли строку то
Do 'считываем в массив
1000 Line Input #filenum, sStr
i = i + 1
ReDim Preserve meData(1 To i)
meData(i) = sStr
If EOF(filenum) Then GoTo ExitSub 'если конец файла, то выходим
Loop While InStr(1, sStr, "РАЗДЕЛИТЕЛЬ ТЕКСТА") = 0 'находим следующее вхождение - выходим
i = 0
ReDim meData(1 To 1)
GoTo 1000
End If
Loop
ExitSub:
Close #filenum
ActiveSheet.Range(Cells(LastRow + 1, 1), Cells(UBound(meData), 1)) = Application.Transpose(meData) 'выводим массив на активный лист
End Sub

Этот макрос - только один раз выводит массив - с первой строки.
А при повторном нажатии кнопки - несмотря на то, что LastRow - вроде бы изменилась - тот же массив с новой последней заполненной строки не добавляется почему-то.
 
Шурик Владимирский, как я понял, то макрос написан не Вами. Если да, то напишите макрос под свою задачу - для этого у Вас уже всё есть (и пример, и алгоритм). Переделывать макрос - не собираюсь.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Макрос
Страницы: 1
Наверх