Board logo

標題: [發問] excel vba 批次將某個sheet另存csv檔 [打印本頁]

作者: joey0415    時間: 2013-8-1 00:56     標題: 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這句話註解後,程式可以跑完沒有問題,但是檔案的內容越來越來,資料有重覆

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

以下是錯誤語句
[attach]15659[/attach]
以下是檔案寫入是空值
[attach]15660[/attach]
將SHEET2.CELLS.CLEAR後,可以run但是資料是錯誤的
[attach]15661[/attach]
sheet2中資料表的內容如下
[attach]15662[/attach]
  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
複製代碼

作者: GBKEE    時間: 2013-8-1 15:56

回復 1# joey0415
上傳檔案 看看
作者: joey0415    時間: 2013-8-1 16:48

批次將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中的資料才會是你想要存的內容
作者: joey0415    時間: 2013-8-1 16:49

回復 2# GBKEE

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

感謝




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