我在列中有很长的信息,有时有数百行(这是通过VBA生成的)。我需要转置它并将其保存为CSV(因为excel会用完列)。
附表的截图。
提前感谢任何帮助。
问题以两种不同的方式得到了回答。我相信它对许多其他人都很有价值。
答案 0 :(得分:1)
这是一个较短的版本(我使用Nats代码作为基础)。它应该快得多,因为它不会循环行。
Sub WriteFile()
Dim LR As Long, ColNum As Long, PathName As String, OutputFileNum As String
PathName = Application.ActiveWorkbook.Path
OutputFileNum = FreeFile
Open PathName & "\Test.csv" For Output Lock Write As #OutputFileNum
For ColNum = 1 To Cells(1, Columns.Count).End(xlToLeft).column
LR = Cells(1, ColNum).Offset(Rows.Count - 1, 0).End(xlUp).Row
CSVString = Join(Application.Transpose(Cells(1, ColNum).Resize(LR, 1)), ",")
Print #OutputFileNum, CSVString
Next
Close OutputFileNum
End Sub