Code chạy chưa đúng nhờ trợ gíup!!!

Liên hệ QC

nguyenanhdung8111982

Thành viên hoạt động
Tham gia
1/11/19
Bài viết
120
Được thích
33
Giới tính
Nam
Em đăng nhầm bên chủ đề hàm excel nên đăng lại qua bên đây
Mã:
 Sub ProcessMultipleFiles()

    Dim NewFileName As String

    Dim FileList As Variant, FilePath As Variant

    Dim FolderPath As String



    Dim FSO As Object

    Set FSO = CreateObject("Scripting.FileSystemObject")

    FolderPath = "D:\file_csv\"

    FileList = Array("20190928.csv", "20190927.csv")

    For Each FilePath In FileList

        FilePath = FolderPath & FilePath

        If FSO.FileExists(FilePath) Then

            NewFileName = FSO.GetBaseName(FilePath)

            NewFileName = NewFileName & "_N.csv"

            FSO.CopyFile FilePath, FolderPath & NewFileName, True

            CSVAmend2 FolderPath, NewFileName

        Else

            MsgBox FilePath & " not found"

        End If

    Next FilePath

End Sub



Sub CSVAmend2(FolderPath As String, FileName As String)

    Dim wb As Workbook, ws As Worksheet, rng As Range, headers As Variant

    headers = Array("ID", "trksegID", "lat", "lon", "ele", "time", "time_N", "Heading")

    'open file (immediate save not needed)

    'Set wb = Workbooks.Open("D:\test_file\test\20200310_07_002_QTB_GS023662-gps.csv")

    Set wb = Workbooks.Open(FolderPath & FileName)

    'wb.SaveAs ("D:\test_file\test\20200310_07_002_QTB_GS023662.csv")

    Set ws = wb.Sheets(1)

    Set rng = ws.Range("A2", ws.Range("A" & ws.Rows.Count).End(xlUp))
    'add time columns
    With rng.Offset(, 8)
        .Formula = "=F2"
        .Value = .Value
        .Offset(, 8).Value = .Value
        .Formula = "=A2"
        .Value = .Value
        .Offset(, 6).Value = .Value
         .Offset(, 6).NumberFormat = "yyyy/mm/dd hh:mm:ss"
        .Formula = "=A2+ TIME(7,0,0)"
        .Offset(, 7).Value = .Value
        .Offset(, 7).NumberFormat = "yyyy/mm/dd hh:mm:ss"
     
    
    End With

    'add ID columns

    ws.Range("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

    rng.Formula = "=row()-1"

    rng.Offset(, 1).Value = 1


    'delete columns not required and insert headers

    ws.Range("F:O").Delete Shift:=xlToLeft

    ws.Range("A1:H1").Value = headers

    ActiveSheet.Range("A2:H50000").RemoveDuplicates Columns:=6, Header:=xlYes

    'save and close

    'wb.Save

    wb.Close SaveChanges:=True                        'False


End Sub
Nhờ mọi người giúp đỡ chỉnh sửa code để
cột "ID" là số thứ tự tăng dần theo dòng cột A
,cột "trksegID" giá trị luôn =1

20200325_230535.png
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom