在将Excel文件导出到txt时添加制表符

时间:2014-04-23 12:27:52

标签: excel vba excel-vba read-write

我写了一个VBA代码,它从Excel表格中获取某些行,并将它们写入TXT文件。 代码很好,但我有两个问题 -

  1. 我在我复制的每个2个单元格之间添加了“vbTab”字符,在TXT文件中它看起来很棒 - 但是当我尝试在Excel中再次打开它时,每一行都出现在一个单元格中(仅在A列中的文本,没有任何空格,并且它不会像它应该进入列...

  2. 在TXT文件中,每行的开头和结尾都有引号(“) - 这对我在TXT文件中的使用不利。

  3. 以下是代码:

    For i = 1 To LastRow
        For j = 1 To LastCol
            If (j = 1) And (Cells(i, 1).Value = "~") Then
                Exit For
            End If
            If Not IsInArray(j, IgnoreCol) Then
                If j = LastCol Then
                    DataLine = DataLine + Trim(Cells(i, j).Value)
                Else
                    DataLine = DataLine + Trim(Cells(i, j).Value) + vbTab
                End If
            End If
        Next j
        If (DataLine <> "") Then
            Write #FileNum, DataLine
            DataLine = ""
        End If
    Next i
    

    谢谢!

1 个答案:

答案 0 :(得分:2)

你应该替换:

  

写#FileNum,DataLine

使用:

  

打印#FileNum,DataLine

因为Write #FileNum, DataLine在DataLine周围放置双引号,所以Excel将整行视为一个单元格。 打印不包含双引号,因此Excel可以将该行拆分为每个 TAB 字符的单元格。