2010-02-26 103 views
1

我需要做一個有一些值的excel文件..在一個選項卡分隔值文本文件.... 解決方案1 ​​ -i可以保存爲一個製表符分隔的文本文件..但問題是它也保存列標題,我不需要。不知道如何改變!從Excel VBA/MACRO TAB分隔的txt文件

解決方案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 

現在我可以控制哪些細胞標籤,在我的code..however..how做我指定選項卡中的「範圍」功能分離定界符「Const DELIMITER」而不是管道分隔符?也似乎在第一個值(即從第一個單元格)之前添加分隔符(第一個單元格)我如何使它從第一個值之後開始(但包括txt文件中的第一個單元格值?)

回答

4

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

針對上述情況,你可以使用vbTab

+0

謝謝... !! WORKS ..我如何添加完成的消息? – andreas 2010-02-26 11:10:22

+0

@andreas如果您問如何將其標記爲已接受的答案,則在向上和向下投票箭頭的左側會有一個複選標記。 – SandPiper 2016-09-13 13:15:02

2

Also..it似乎是第一個值(即從 第一單元)我如何使它從開始 之前添加分隔符 第一個值之後(但是 包括第一個單元格值在t他 txt文件)

這行代碼:

sOut = sOut & DELIMITER & myfield.txt 

添加分隔符第一,因爲第一次通過你的循環,SOUT = 「」。更改此代碼:

sOut = sOut & myfield.txt & DELIMITER 

然後你的循環結束後,如果您不希望在年底額外的分隔符,使用TRIM操作將其刪除。