返回列表 上一主題 發帖

[發問] excel vba 批次將某個sheet另存csv檔

[發問] excel vba 批次將某個sheet另存csv檔

本帖最後由 joey0415 於 2013-8-1 00:59 編輯

小弟有參考http://forum.twbts.com/thread-6347-1-1.html,可以指定sheet,將其存成csv

問題是這樣

小弟將網頁上的資料放進sheet2中,指定sheet2存成csv檔,單一個沒有問題
若是將A網頁下載後,放至SHEET2中,存檔成功,之後若將SHEET2.CELLS.CLEAR後
再將B網頁下載,放進SHEET2,再存檔時會發生問題,問題如圖

不過若將SHEET2.CELLS.CLEAR這句話註解後,程式可以跑完沒有問題,但是檔案的內容越來越來,資料有重覆

不之是哪方面的問題,請高手指點一下

以下是錯誤語句

以下是檔案寫入是空值

將SHEET2.CELLS.CLEAR後,可以run但是資料是錯誤的

sheet2中資料表的內容如下
  1. 部份代碼如下:


  2.         Dim myTxtFile As String, myFNo As Integer
  3.         Dim myLastRow As Long
  4.            
  5.         
  6.         
  7.         
  8.         Worksheets(2).Activate
  9.         CSVText = ThisWorkbook.Path & "\" & Format(Date, "yyyymmdd") & "_" & Sheet1.Cells(j, 1) & ".csv"
  10.         ar = Sheet2.Range("A1").CurrentRegion.Value
  11.         Open CSVText For Output As #1
  12.         For i = 1 To UBound(ar, 1)
  13.         mystr = Join(Application.Index(ar, i), ",")
  14.         Print #1, mystr
  15.         Next
  16.         Close #1
  17.         
  18. '        Sheet2.Cells.Clear
  19.     Next
複製代碼

回復 1# joey0415
上傳檔案 看看
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

批次將sheets存成csv檔的語句
網上爬文並錯誤嘗試後,找到可以用的句子

例如:我activate的是Worksheets(2).Activate這個工作表
我就將Worksheets(2)工作表存在C中的Marthinus.csv
ActiveWorkbook.SaveAs "C:\Marthinus.csv", fileformat:=6
若是下面這句
'------------------------------ 將sheet2中的資料以指定格式存成csv檔--------------
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Format(Date, "yyyymmdd") & "_" & Sheet1.Cells(j, 1) & ".csv", FileFormat:=6

如果是重覆回圈下載輸出CSV的話,請記得要將您的指定的Worksheets(2)內容清除Sheet2.Cells.Clear
這樣SHEET2中的資料才會是你想要存的內容

TOP

回復 2# GBKEE

謝謝GBKEE大
我已找到方法,貼在下面,若再有問題,一定會再請益

感謝

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題