返回列表 上一主題 發帖

請問做法 ?A檔案有10000筆資料,要輸出成5個新檔A1~A5,每個檔案2000筆資料

請問做法 ?A檔案有10000筆資料,要輸出成5個新檔A1~A5,每個檔案2000筆資料

目前的狀況是,5個檔案都建立了,可是只有第A1有2000筆資料,A2~A5都是空白的,請大師看一下那裏有問題?
  1. Private Sub rutenexport() '匯出上架檔 -露天

  2. Dim sb, db As Workbook

  3. 'wp = ActiveWorkbook.Path & "\" '指定存檔位置
  4. wp = ActiveWorkbook.Path & "\" & "ruten" & Year(Date) & "-" & Month(Date) & "-" & Day(Date) & "-" & Hour(Time) & "-" & Minute(Time) & "-" & Second(Time) & "\" '指定存檔位置

  5. If Len(Dir(wp, vbDirectory)) = 0 Then
  6.    
  7.    MkDir wp
  8.    
  9. End If


  10. Set sb = Workbooks("上架資料轉換.xlsx")

  11. sb.Sheets("露天上架檔").Range("AE:XX").Delete

  12. 'sb.Sheets("露天上架檔").Range("A:A").Delete '刪除第1行編號

  13. '================每個檔案2000筆資料匯出A
  14. For i = 1 To 5

  15. db1 = "ruten_auction2014-" & i & ".xls"

  16. Set NewBook = Workbooks.Add

  17.     With NewBook
  18.         .Title = "All Sales"
  19.         
  20.         .Subject = "Sales"
  21.         
  22.         .SaveAs Filename:=wp & db1
  23.         
  24.     End With
  25.    
  26. Set db = Workbooks(db1)
  27.    
  28. pt = i * 2000

  29. MsgBox db.Name

  30. sb.Sheets("露天上架檔").Range(Cells(pt - 1999, 1), Cells(pt, 31)).Copy Workbooks(db1).Sheets("sheet1").Range(Cells(pt - 1999, 1), Cells(pt, 31))

  31. 'db.Close

  32. Next i

  33. MsgBox "露天上架檔已匯出"
  34. End Sub
複製代碼

這兩句語法有點問題
sb.Sheets("露天上架檔").Range(Cells(pt - 1999, 1), Cells(pt, 31)).Copy
Workbooks(db1).Sheets("sheet1").Range(Cells(pt - 1999, 1), Cells(pt, 31))

你仔細再看一下檔案,應該A2~A5不是沒資料
而是A2的資料貼到2001~4000列
A3貼到4001~6000列以此列推了
第二句程式碼應該固定儲存格就好
可以改成
Workbooks(db1).Sheets("sheet1").Range("A1").select
activate.paste
意思就是在A1欄位貼上複製的儲存格內容

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題