Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Копирование столбца таблицы в .txt файл, fso.CreateTextFile troubleshooting
 
Ребята, всем привет. Пытаюсь создать кучу файлов txt из excel таблицы.

Первый файл: имя - значение из ячейки B1,  а  его содержимое -  это столбец под A1 и B1.
Второй файл: имя - значение из ячейки C1,  а  его содержимое -  это столбец под A1 и C1.
Третий файл: имя - значение из ячейки D1,  а  его содержимое -  это столбец под A1 и D1.  И так далее до конца таблицы.
Допили до такого когда. Но почему то столбец не вставляется в файл. При том если взять ячейку, то она появляется в файле а со столбцом не прокатывает.
Возникает подозрение что надо вторым циклом проходить по строкам и за один цикл записывать по 1 значению в txt файл. Если кто-то знает почему range не проходит - подскажите пожалуйста
Код
Sub СозданиеBATфайлов()
    Dim cell As Range, ra As Range: Application.ScreenUpdating = False
    Set ra = Range("B1:VX1")
    folder$ = ThisWorkbook.Path & "\файлы BAT\"
    On Error Resume Next: MkDir folder$    ' создаём папку, если её нет
    For i = 1 To 15
     For Each cell In ra.Cells    ' перебираем все ячейки в первом столбце
        ' сохраняем текстовый файл
            SaveTXTfile folder$ & cell, (Cells(cell.colname, i))
     Next cell
    Next i

End Sub

Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
    On Error Resume Next: Err.Clear
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.CreateTextFile(filename, True)
    ts.WriteLine txt: ts.Close
    SaveTXTfile = Err = 0
    Set ts = Nothing: Set fso = Nothing
End Function
Изменено: andreys290494 - 12 Апр 2018 14:49:22
 
Код
Sub СозданиеBATфайлов()
    Dim txt$
    folder$ = ThisWorkbook.Path & "\файлы BAT\"
    On Error Resume Next: MkDir folder$    ' создаём папку, если её нет
    For j = 2 To Cells(1, Columns.Count).End(xlToLeft).Column
        For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
            txt = txt & Cells(i, 1) & vbTab & Cells(i, j) & vbLf
        Next i
        ' сохраняем текстовый файл
        SaveTXTfile folder$ & Cells(1, j), txt
        txt = ""
    Next j
End Sub


vikttur,  Копирование столбца таблицы в .txt файл
 
RAN, все отлично работает. Большое спасибо . Подскажите, все таки перенос сразу столбцом невозможен (аналогично выделению столбца и далее копировать+вставить в .txt)?
Страницы: 1
Читают тему (гостей: 1)