hieplee
Thành viên mới

- Tham gia
- 10/10/19
- Bài viết
- 1
- Được thích
- 0
Mã:
'Create a csv file
SheetValues = sht.Range(sht.Cells(1, 1), sht.Cells(lrow, lCol)).Value
ReDim LineValues(1 To lCol)
For RowNum = 1 To lrow
For ColNum = 1 To lCol
LineValues(ColNum) = SheetValues(RowNum, ColNum)
Next
Line = Join(LineValues, ",")
Print #OutputFileNum, Line & vbCrLf;
Next
Close OutputFileNum
'Split CSV file into 500 record csv
Set csvwb = Workbooks.Open(PathName & "\" + workbookName + ".csv", Local:=True)
Call DateFormat(csvwb, lrow)
Call Split_500_With_Column_Headings(csvwb)
'Kill (PathName & "\" + workbookName + ".csv")
MsgBox "ˆ—‚ªŠ®—¹‚µ‚Ü‚µ‚½B" & vbNewLine & "ˆÈ‰º‚̃Šƒ“ƒN‚ð‚²Šm”F‚¨Šè‚¢’v‚µ‚Ü‚·B" & PathName & "\" + workbookName + ".csv"
End If
End Sub
Public Sub Split_500_With_Column_Headings(wb As Workbook)
Dim inputFile As String, inputWb As Workbook
Dim lastRow As Long, row As Long, n As Long
Dim newCSV As Workbook
Set inputWb = wb
With inputWb.Worksheets(1)
lastRow = .Cells(Rows.Count, 24).End(xlUp).row
Set newCSV = Workbooks.Add
n = 0
For row = 2 To lastRow Step 500
n = n + 1
.Rows(1).EntireRow.Copy newCSV.Worksheets(1).Range("A1")
.Rows(row & ":" & row + 500 - 1).EntireRow.Copy newCSV.Worksheets(1).Range("A2")
'Save in same folder as input workbook with .xlsx replaced by (n).csv
newCSV.SaveAs Filename:=Replace(inputWb.FullName, ".csv", "(" & n & ").csv"), FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Next
End With
newCSV.Close saveChanges:=False
inputWb.Close saveChanges:=False
End Sub
Public Sub DateFormat(wb As Workbook, lrow As Long)
With wb.Sheets(1)
.Range("W2" & lrow ).NumberFormat = "yyyy-mm-dd"
End With
End Sub