tách ngày tháng thành từng dòng (2 người xem)

  • Thread starter Thread starter xingns
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

xingns

Thành viên mới
Tham gia
15/8/21
Bài viết
8
Được thích
0
Em chào các anh/ chị e đang có một bảng mà hàng ngày e phải tách ra để theo dõi chuyên cần của nhân viên. Tuy nhiên e không dành về các hàm cũng như viết VBA. Em muốn nhờ anh/chị giúp đỡ. ĐỀ BÀI LÀ NẾU NGÀY BẮT ĐẦU - NGÀY KẾT THÚC -> KẾT QUẢ LÀ MỖI NGÀY THỂ HIỆN THÀNH 1 DÒNG NHƯ SHEET ket qua trong file đính kèm ạ
Em xin cảm ơn cách anh/chị!
 

File đính kèm

bạn xem có thể viết thế nào thì giúp mình với. cảm ơn bạn
 
Em chào các anh/ chị e đang có một bảng mà hàng ngày e phải tách ra để theo dõi chuyên cần của nhân viên.
Bạn chạy thử code này
PHP:
Public Sub MotNgatMotDong()
Dim i&, k&, r&, soNgay&
Dim sArr, rArr
With Sheets("goc")
    sArr = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 8).Value
    r = UBound(sArr, 1)
    ReDim rArr(1 To r * 30, 1 To 8)
End With

For i = 1 To r
    For soNgay = CDate(sArr(i, 4)) To CDate(sArr(i, 6))
        k = k + 1
            rArr(k, 1) = sArr(i, 1)
            rArr(k, 2) = sArr(i, 2)
            rArr(k, 3) = sArr(i, 3)
            rArr(k, 4) = soNgay
            rArr(k, 5) = sArr(i, 5)
            rArr(k, 6) = soNgay
            rArr(k, 7) = sArr(i, 7)
            rArr(k, 8) = sArr(i, 8)
    Next soNgay
Next i
With Sheets("ket qua")
    .UsedRange.Offset(1).ClearContents
    .Range("A2").Resize(k, 8).Value = rArr
    .Range("D2").Resize(k, 1).NumberFormat = "yyyy-mm-dd"
    .Range("F2").Resize(k, 1).NumberFormat = "yyyy-mm-dd"
End With
End Sub

.
 
Bạn chạy thử code này
PHP:
Public Sub MotNgatMotDong()
Dim i&, k&, r&, soNgay&
Dim sArr, rArr
With Sheets("goc")
    sArr = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 8).Value
    r = UBound(sArr, 1)
    ReDim rArr(1 To r * 30, 1 To 8)
End With

For i = 1 To r
    For soNgay = CDate(sArr(i, 4)) To CDate(sArr(i, 6))
        k = k + 1
            rArr(k, 1) = sArr(i, 1)
            rArr(k, 2) = sArr(i, 2)
            rArr(k, 3) = sArr(i, 3)
            rArr(k, 4) = soNgay
            rArr(k, 5) = sArr(i, 5)
            rArr(k, 6) = soNgay
            rArr(k, 7) = sArr(i, 7)
            rArr(k, 8) = sArr(i, 8)
    Next soNgay
Next i
With Sheets("ket qua")
    .UsedRange.Offset(1).ClearContents
    .Range("A2").Resize(k, 8).Value = rArr
    .Range("D2").Resize(k, 1).NumberFormat = "yyyy-mm-dd"
    .Range("F2").Resize(k, 1).NumberFormat = "yyyy-mm-dd"
End With
End Sub

.
cảm ơn bạn, nhưng cái này dùng như thế nào nhỉ
 
Web KT

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

Back
Top Bottom