Ребята, всем привет. Пытаюсь создать кучу файлов 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
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
RAN, все отлично работает. Большое спасибо . Подскажите, все таки перенос сразу столбцом невозможен (аналогично выделению столбца и далее копировать+вставить в .txt)?