VBA:将多个列导出到txt

我试图导出excel中的几列数据 – 空白单元格 – 单个 – 没有空格 – 到一个.txt文件。 到目前为止,我已经汇编了一些代码,并且可以导出一列成功。 我希望做的是复制/粘贴之前的一列,以此类推到没有空白的.txt。

Private Sub CommandButton2_Click() Dim r As Range, c As Range, rng As Range Dim sTemp As String Dim UnusedColumn As Range Dim Filename As String Filename = ActiveWorkbook.Path & "\xxx.txt" Open Filename For Output As #1 Set rng = Range("A2:A1000") 'Find a column with nothing in it Set UnusedColumn = Cells.Find("*", , xlFormulas, , xlByColumns, xlPrevious).EntireColumn.Offset(0, 15) 'Create temporary calculation column to determine which cells to select (marked by an X) Intersect(rng.EntireRow, UnusedColumn) = Evaluate("IF(" & rng.Address & "="""","""",""X"")") 'Make Selection Intersect(UnusedColumn.SpecialCells(xlConstants).EntireRow, rng.EntireColumn).Select 'Remove Temporary Blank Caluclations UnusedColumn.Clear For Each r In Selection sTemp = "" For Each c In r.Cells sTemp = sTemp & c.Text & Chr(9) Next c 'Get rid of trailing tabs While Right(sTemp, 1) = Chr(9) sTemp = Left(sTemp, Len(sTemp) - 1) Wend Print #1, sTemp Next r Close #1 End Sub 

这里有一些指令来自动select非空白单元格,并导出每行不带引号。

以下是.txt与原始代码(一列)的相似之处 : http : //i.stack.imgur.com/DiB33.jpg

下面是列的样子: http : //i.stack.imgur.com/9Tn3m.jpg

对于未完成的英文和代码抱歉。 提前致谢!

当您使用For Each Loop迭代数组时,VBA按列(第一列中的所有元素,第二列中的所有元素等)迭代每个元素。

写入10,000行x255列花费了2.38秒,%50填充了14位数字作为文本存储

 Sub WriteToValues() Dim Start: Start = Timer Dim Data, v Dim FileName As String FileName = ActiveWorkbook.Path & "\xxx.txt" Data = ActiveSheet.UsedRange.Value2 Open FileName For Output As #1 For Each v In Data If v <> vbNullString Then Print #1, CStr(v) Next Close #1 Debug.Print Timer - Start End Sub 

在这里输入图像说明