關於Excel如何用vba將每一欄的資料轉存txt?

2017-09-04 2:24 pm
想請問各位熟悉vba的達人,今天我有一份excel是的每一欄(A, B, C,...)的第一列是編號,而對應的下面2,3,...列都是該編號的子資料(每一欄長度不見得都一樣),我想要將每一欄第二列以下另存txt檔,統一每一欄用它的第一列當檔名,請問用vba我該怎麼寫。

我這樣講可能有點抽象。舉例來說,假設A欄的A1,A2,A3分別是1,2,3,而B欄的B1,B2,B3,B4分別是4,5,6,7。最後我想要的純文字檔就是1.txt和4.txt,它們文件的內容就分別是

2
3



5
6
7

那麼我的巨集該怎麼打?

回答 (1)

2017-09-04 5:36 pm
✔ 最佳答案
Sub Get_Data()

Ux = [IV1].End(xlToLeft).Column

For x = 1 To Ux
Uy = Cells(65536, x).End(xlUp).Row
My_File = "C:\" & Cells(1, x) & ".txt"
Open My_File For Output As #1

For y = 2 To Uy
Write #1, Cells(y, x)
Next

Close #1
Next

End Sub

--------------------------------------------------------------------

程式說明 :
1. 資料會存在 C: 磁碟, 若想改存 D: 磁碟, 請將以下這行
My_File = "C:\" & Cells(1, x) & ".txt"
改成 :
My_File = "D:\" & Cells(1, x) & ".txt"

2. 變數說明 :
x : 欄
y : 列
Ux : 最末欄
Uy : 最末列


收錄日期: 2021-05-02 14:18:42
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20170904062453AAoaZ9y

檢視 Wayback Machine 備份