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

Excel Range copied and transpose pasted to notepad.

我是一个 VB 新手,想要在 excel 中像这样的范围内垂直呈现的数据:

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

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

即为此:伦敦、纽约、东京、巴黎、莫斯科

然后保存。

我写了以下 post google 和 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

在 VBA 和 Application.Transpose 中全部完成。

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