Excel范围复制和转置粘贴到记事本。

我是一个VB新手,并希望在Excel中这样的范围内垂直呈现的数据:

  1. 伦敦,
  2. 纽约,
  3. 东京,
  4. 巴黎,
  5. 莫斯科,

然后水平复制并粘贴到.txt文件中

即:伦敦,纽约,东京,巴黎,莫斯科

然后保存。

我已经写了下面的文章谷歌和SO,它的作品,但转置元素不工作,有点困惑(它仍然粘贴它作为一个垂直列表)

目前名称列表大约是3k,所以我不想在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 

用Application.Transpose在VBA中完成所有工作。

 Print #ff, Join(Application.Transpose(worksheets(NameOfTheSheet ).Range("AA2:AA" & lRow).Value), ",") & vbNewLine