TAB将Excel文件与Excel VBA / MACRO分开

时间:2010-02-26 10:39:53

标签: excel vba

我需要制作一个excel文件,其中包含一些值...在制表符分隔值文本文件中.... 解决方案1 -i可以将它保存为制表符分隔的文本文件..但问题是它还保存了我不需要的列标题。不知道如何更改它!

解决方案2 - 我有这段代码:

Public Sub CharacterSV()
    Const DELIMITER As String = " |"
    Dim myRecord As Range
    Dim myField As Range
    Dim nFileNum As Long
    Dim sOut As String

    nFileNum = FreeFile
    Open "Test.txt" For Output As #nFileNum
    For Each myRecord In Range("A2:A" & _
                Range("A" & Rows.Count).End(xlUp).Row)
        With myRecord
            For Each myField In Range(.Cells, _
                    Cells(.Row, Columns.Count).End(xlToLeft))
                sOut = sOut & DELIMITER & myField.Text
            Next myField
            Print #nFileNum, Mid(sOut, 2)
            sOut = Empty
        End With
    Next myRecord
    Close #nFileNum
End Sub

现在我可以控制哪些单元格与我的代码中的“范围”功能分开了..那么我是否指定制表符分隔符“Const DELIMITER”而不是管道分隔符?另外..似乎在第一个值之前添加了分隔符(即从第一个单元格开始)如何使它从第一个值之后开始(但是包含txt文件中的第一个单元格值?)

2 个答案:

答案 0 :(得分:4)

how do i specify the tab delimiter "Const DELIMITER " instead of the pipe separator?

对于上述内容,您可以使用vbTab

答案 1 :(得分:2)

  

还.. ..似乎添加了分隔符   在第一个值之前(即来自   第一个细胞)我该如何开始   从第一个值之后(但是   包括第一个单元格值   txt文件?)

这行代码:

sOut = sOut & DELIMITER & myfield.txt

首先添加分隔符,因为第一次通过循环,sOut =“”。将此代码更改为:

sOut = sOut & myfield.txt & DELIMITER

然后在循环结束后,如果你不想在结尾处使用额外的分隔符,请使用修剪操作将其删除。