Board logo

標題: [發問]把Excel資料某欄資料存到另一個 Txt 檔案 [打印本頁]

作者: cr123a    時間: 2011-9-9 01:46     標題: [發問]把Excel資料某欄資料存到另一個 Txt 檔案

本帖最後由 cr123a 於 2011-9-21 11:25 編輯

我想把  sheet1 D欄內 D1  到 D23000
固定每20個一組 或 25個一組的資料存入文件檔
不知該如何操作 如  D1 ~D20   存成  HABC-001.tex
                          D21 ~D40   存成  HABC-002.tex
                          D41 ~D60   存成  HABC-003.tex
                          D61 ~D80   存成  HABC-004.tex
                            ...................
謝謝大家   祝安
作者: GBKEE    時間: 2011-9-9 07:34

回復 1# cr123a
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, i As Integer
  4.     Set Rng = ActiveWorkbook.Sheets(1).Range("D1:D20")
  5.     i = 1
  6.     Do While Application.CountA(Rng.Columns(1)) > 0    '計算範圍第一欄內有資料的列數
  7.         With Workbooks.Add(1)
  8.             Rng.Copy .Sheets(1).Range("A1")
  9.             .SaveAs Filename:="D:\test\HABC-00" & i & ".tex", FileFormat:=xlUnicodeText, CreateBackup:=False
  10.             .Close True
  11.         End With
  12.         i = i + 1
  13.         Set Rng = Rng.Offset(20)  '往下位移20列
  14.     Loop
  15. End Sub
複製代碼

作者: cr123a    時間: 2011-9-9 09:39

回復 2# GBKEE

好像快成功了  但是 是執行出為
HABC-001.tex
內容
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
??
我不知如何改    我想應該是 欄內  copy 出後 應改成存為文字檔
作者: GBKEE    時間: 2011-9-9 09:44

回復 3# cr123a
請附上檔案,才知曉
作者: cr123a    時間: 2011-9-9 10:56

檔案太大不知如何傳耶
我想應該 是把
  With Workbooks.Add(1)
             Rng.Copy .Sheets(1).Range("A1")
             .SaveAs Filename:="D:\test\HABC-00" & i & ".tex",
改成  所要的欄  複製 再貼上 新的A欄  但要"選擇性貼上" ...再選 "值"
但我不會寫  試了好多次還是錯
謝謝
作者: GBKEE    時間: 2011-9-9 11:41

本帖最後由 GBKEE 於 2011-9-9 14:10 編輯

回復 5# cr123a
可傳的檔案類型 chm, pdf, zip, rar, tar, gz, bzip2, gif, jpg, jpeg, png  
文件需用壓縮檔   zip, rar

[attach]7777[/attach]
作者: cr123a    時間: 2011-9-9 11:59

本帖最後由 cr123a 於 2011-9-9 12:00 編輯

回復 6# GBKEE
ok謝謝你 我傳上來了
但你上傳的東東 我無法下載
我還是幼兒
作者: GBKEE    時間: 2011-9-9 12:53

回復 7# cr123a
你上傳的東東 我無法下載   我知道的
  1. Sub Macro1()
  2.     Dim Rng As Range, i As Integer
  3.     With ActiveWorkbook.Sheets(1)   
  4.         Set Rng = .Range("F" & .[C3]).Resize(.[C1])
  5.         '"F" & .[C3]-> F101   'Resize(.[C1])-> Resize(10)擴充範圍為10列
  6.         i = 1
  7.         Do While i <= .[C2]   '控制每個出來的檔案數
  8.             With Workbooks.Add(1)
  9.                ' Rng.Copy .Sheets(1).Range("A1")  '->COPY 複製(全部內容:公式 當然是#REF! )
  10.                 .Sheets(1).Range("A1").Resize(Rng.Rows.Count, Rng.Columns.Count) = Rng.Value
  11.                 .SaveAs Filename:="D:\TEST\HABCGGG-00" & i & ".txt", FileFormat:=xlUnicodeText, CreateBackup:=False
  12.                 .Close True
  13.             End With
  14.             i = i + 1
  15.             Set Rng = Rng.Offset(.[C1])  '往下位移C1指定列數
  16.         Loop
  17.     End With
  18. End Sub
複製代碼

作者: cr123a    時間: 2011-9-9 13:48

本帖最後由 cr123a 於 2011-9-10 09:53 編輯

太神奇了
謝謝你的教導
好厲害!強!
作者: cr123a    時間: 2011-9-21 11:27

最近在使用上出現了一些問題
想把文件 改成  big 5編碼 的文件檔
找奇很多書都沒寫到這個
FileFormat:=xlUnicodeText, CreateBackup:=False
                   ~~~~~~~~~
這個不知該知何改
再幫一下吧  謝謝
作者: GBKEE    時間: 2011-9-21 21:11

回復 10# cr123a
想把文件 改成  big 5編碼 的文件檔   找奇很多書都沒寫到這個
可到維基百科 看看




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)