Xin giúp đỡ trích dữ liệu dòng sang cột!!!!

Liên hệ QC

Ladybugx

Thành viên mới
Tham gia
5/3/19
Bài viết
18
Được thích
5
Tính bảng lương công ty em rất vất vả và rất dễ nhầm do phải dò thủ công...
Cụ thể: file đính kèm bên dưới
* Bảng1 là bảng chấm công, e muốn trích xuất thành Bảng2 để có thể dùng Vlookup ở bảng tính lương.
Mong anh chị giúp giùm em ạ T.T
Em cám ơn nhiều!!!
 

File đính kèm

  • giup do trich dong thanh cot.xlsx
    11.6 KB · Đọc: 23
Lần chỉnh sửa cuối:
Tính bảng lương công ty em rất vất vả và rất dễ nhầm do phải dò thủ công...
Cụ thể: file đính kèm bên dưới
* Bảng1 là bảng chấm công, e muốn trích xuất thành Bảng2 để có thể dùng Vlookup ở bảng tính lương.
Mong anh chị cao thủ nào giúp giùm em ạ T.T
Em cám ơn nhiều!!!
Không phải là cao thủ thì giúp sẽ "trớt huớt"?
Nhiều người gặp chuyện gì cũng muốn nhờ "cao thủ". Khi không phải "cao thủ" chẳng ai thèm "xía" vào đâu.
Chuyện này dùng VBA chắc cũng "dễ ẹc".
 
Không phải là cao thủ thì giúp sẽ "trớt huớt"?
Nhiều người gặp chuyện gì cũng muốn nhờ "cao thủ". Khi không phải "cao thủ" chẳng ai thèm "xía" vào đâu.
Chuyện này dùng VBA chắc cũng "dễ ẹc".
Don't get me wrong T,T . Em không biết gì về VBA và cũng đang mong muốn học một ngày gần nhất. Nên ai cũng là cao thủ so với em ạ :(
Rất mong được a giúp đỡ^^
 
Tính bảng lương công ty em rất vất vả và rất dễ nhầm do phải dò thủ công...
Cụ thể: file đính kèm bên dưới
* Bảng1 là bảng chấm công, e muốn trích xuất thành Bảng2 để có thể dùng Vlookup ở bảng tính lương.
Mong anh chị giúp giùm em ạ T.T
Em cám ơn nhiều!!!
Gửi bạn
Mã:
Option Explicit

Sub ChuyenBang()
Dim Nguon
Dim Dong As Long
Dim Kq
Dim i, j, k
With Sheet1
    i = .Range("E1000000").End(xlUp).Row
    Nguon = .Range("C2", "G" & i)
    Dong = UBound(Nguon)
    ReDim Kq(1 To (Dong - 1) / 5 + 1, 1 To 7)
    Kq(1, 1) = Nguon(1, 2)
    Kq(1, 2) = Nguon(1, 3)
    Kq(1, 3) = Nguon(2, 4)
    Kq(1, 4) = Nguon(3, 3)
    Kq(1, 5) = Nguon(4, 3)
    Kq(1, 6) = Nguon(5, 3)
    Kq(1, 7) = Nguon(6, 3)
    k = 1
    For i = 2 To Dong Step 5
        k = k + 1
        Kq(k, 1) = Nguon(i, 2)
        Kq(k, 2) = Nguon(i, 3)
        Kq(k, 3) = Nguon(i, 5)
        For j = i + 1 To i + 4
            Kq(k, j - i + 3) = Nguon(j, 5)
        Next j
    Next i
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)).Columns.AutoFit
End With
End Sub
 
Không phải là cao thủ thì giúp sẽ "trớt huớt"?
Nhiều người gặp chuyện gì cũng muốn nhờ "cao thủ". Khi không phải "cao thủ" chẳng ai thèm "xía" vào đâu.
Chuyện này dùng VBA chắc cũng "dễ ẹc".
Cháu thấy nếu mà đã dùng VBA thì tính luôn lương đi cần gì phải chuyển sang để lấy dùng hàm nữa.:D.
 
Em cám ơn a rất nhiều!
Chúc a sức khỏe ạ! :D
Bài đã được tự động gộp:

Gửi bạn
Mã:
Option Explicit

Sub ChuyenBang()
Dim Nguon
Dim Dong As Long
Dim Kq
Dim i, j, k
With Sheet1
    i = .Range("E1000000").End(xlUp).Row
    Nguon = .Range("C2", "G" & i)
    Dong = UBound(Nguon)
    ReDim Kq(1 To (Dong - 1) / 5 + 1, 1 To 7)
    Kq(1, 1) = Nguon(1, 2)
    Kq(1, 2) = Nguon(1, 3)
    Kq(1, 3) = Nguon(2, 4)
    Kq(1, 4) = Nguon(3, 3)
    Kq(1, 5) = Nguon(4, 3)
    Kq(1, 6) = Nguon(5, 3)
    Kq(1, 7) = Nguon(6, 3)
    k = 1
    For i = 2 To Dong Step 5
        k = k + 1
        Kq(k, 1) = Nguon(i, 2)
        Kq(k, 2) = Nguon(i, 3)
        Kq(k, 3) = Nguon(i, 5)
        For j = i + 1 To i + 4
            Kq(k, j - i + 3) = Nguon(j, 5)
        Next j
    Next i
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)).Columns.AutoFit
End With
End Sub
Em cám ơn a rất nhiều!
Chúc a sức khỏe ạ! :D
Bài đã được tự động gộp:

Cháu thấy nếu mà đã dùng VBA thì tính luôn lương đi cần gì phải chuyển sang để lấy dùng hàm nữa.:D.
Dạ e gà gù nên từng bước e dễ hình dung hơn... ^^
 
Gửi bạn
Mã:
Option Explicit

Sub ChuyenBang()
Dim Nguon
Dim Dong As Long
Dim Kq
Dim i, j, k
With Sheet1
    i = .Range("E1000000").End(xlUp).Row
    Nguon = .Range("C2", "G" & i)
    Dong = UBound(Nguon)
    ReDim Kq(1 To (Dong - 1) / 5 + 1, 1 To 7)
    Kq(1, 1) = Nguon(1, 2)
    Kq(1, 2) = Nguon(1, 3)
    Kq(1, 3) = Nguon(2, 4)
    Kq(1, 4) = Nguon(3, 3)
    Kq(1, 5) = Nguon(4, 3)
    Kq(1, 6) = Nguon(5, 3)
    Kq(1, 7) = Nguon(6, 3)
    k = 1
    For i = 2 To Dong Step 5
        k = k + 1
        Kq(k, 1) = Nguon(i, 2)
        Kq(k, 2) = Nguon(i, 3)
        Kq(k, 3) = Nguon(i, 5)
        For j = i + 1 To i + 4
            Kq(k, j - i + 3) = Nguon(j, 5)
        Next j
    Next i
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .Range("I2").Resize(UBound(Kq), UBound(Kq, 2)).Columns.AutoFit
End With
End Sub
A ơi, nếu a có thời gian giúp e lại cái Macro với, e dùng trên file gốc thì bị lỗi, e ráng mò sửa lại mà k được T.T.
E gởi a file thực tế a xem qua giúp e nha!
E cám ơn a nhiều ! Phiền a ạ!
 

File đính kèm

  • trichdulieuBCC.xls
    552 KB · Đọc: 20
Web KT
Back
Top Bottom