2014-02-10 99 views
0

我有兩列數據。VBA將一列寫入另一列格式的文本文件

file,category 
a,1 
b,1 
c,1 
d,2 
e,2 
f,2 
g,3 
h,3 
i,3 

我想將第一列打印到由第二列格式化的文本文件。

例如。

category 1 
a 
b 
c 
category 2 
d 
e 
f 
category 3 
g 
h 
i 

任何幫助表示讚賞。

+0

你爲什麼不rearange你的數據在一個'透視Table'? –

+0

我的腳本的主要目標是生成2個文件,這些文件是一些其他軟件的輸入,我已經可以生成其中一個文件,它只是我需要的另一個文件的一部分。此外,這是一個要求,Excel文件保持不變 – manish449

回答

1

這適用於您發佈的數據:

Sub testlist3() 
    Open "C:\TestFolder\testlist" & Format(Now(), "_yyyy-mm-dd_hh-mm") & ".lst" For Output As #1 
    Dim N As Long, L As Long 
    N = Cells(Rows.Count, "A").End(xlUp).Row 
    Print #1, "catagory " & Cells(1, "B").Value 
    Print #1, Cells(1, "A").Value 
    For L = 2 To N 
     If Cells(L, "B").Value <> Cells(L - 1, "B").Value Then 
      Print #1, "catagory " & Cells(L, "B").Value 
     End If 
     Print #1, Cells(L, "A").Value 
    Next L 
    Close #1 
    MsgBox "done" 
End Sub 
+0

它爲文件中的每一行產生「類別1」行 – manish449

+0

我假設「a,b,c,d ...」值在列** A **和「1,2,3 ...」值在列** B **中。 –

+0

我的錯我編輯錯了 – manish449

相關問題