VBA将列写入由另一列格式化的文本文件

时间:2014-02-10 13:59:40

标签: excel vba excel-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 

任何帮助表示感谢。

1 个答案:

答案 0 :(得分: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