Я новичок в VB и хотел бы, чтобы данные, которые в настоящее время отображаются вертикально в диапазоне, подобном этому, в Excel:
- Лондон,
- Нью-Йорк,
- Токио,
- Париж,
- Москва,
Для последующего копирования и вставки в файл .txt по горизонтали
то есть к этому: Лондон, Нью-Йорк, Токио, Париж, Москва
а потом спасли.
Я написал следующий пост google и SO, и он работает, но элемент транспонирования не работает, и я немного запутался (он все еще вставляет его как вертикальный список)
В настоящее время список имен составляет примерно 3 тыс., Поэтому я не хочу делать это в Excel с помощью TRANSPOSE(). Но так как мне нужны имена для другой программы, которой это нужно в этом формате.
Лондон, Нью-Йорк, Токио, Париж, Москва
Любое направление приветствуется. СПАСИБО!
Option Explicit
Sub ExportFile()
Dim ff As Long, lRow As Long
Const NameOfTheSheet As String = "Names"
Const sTextTileDirectoryPath As String = "C:\Users\PCHome\Desktop\"
ff = VBA.FreeFile
With ThisWorkbook.Sheets(NameOfTheSheet)
lRow = .Range("AA" & Rows.Count).End(xlUp).Row
Open sTextTileDirectoryPath & .Range("J25").Value & ".txt" For Output Access Write As #ff
Print #ff, Join(Evaluate(Replace(Replace("transpose(#AA2:AA@)", "#", "'" & NameOfTheSheet & "'!"), "@", lRow)), vbNewLine)
Close #ff
End With
MsgBox "Text File Created", vbInformation
End Sub