Lấy dữ liệu từ Sheet theo số thứ tự tùy chọn.

Liên hệ QC

Cát Lượng

Thành viên tiêu biểu
Tham gia
14/11/18
Bài viết
403
Được thích
66
Em xin được nhờ các anh/chị giúp em:
Em muốn lấy dữ liệu từ sheet(DM_HD) sang hai sheet(List_Ly lich_16) và Sheet(List_Kinh Nghiem_17)
1/ Dữ liệu được lấy từ sheet(DM_HD) để điền sang sheet(List_Ly lich_16) là các ô tương ứng từ dòng 15
trở đi và thuộc các cột A, cột D, cột F, cột M, Cột N, Cột AA (những cột tô nền xanh trong sheet sheet(DM_HD)trong sheet(DM_HD)
2/ Dữ liệu được lấy từ sheet(DM_HD) để điền sang Sheet(List_Kinh Nghiem_17)là các là các ô tương ứng từ dòng 15
trở đi và thuộc các cột A, cột D, Cột AA trong sheet(DM_HD).
***** Sheet(DM_HD) được đánh số thứ tự từ 1 và tăng dần đều, lấy dữ liệu từ sheet(DM_HD) theo cột STT: lấy từ số
nào đến số nào (từ 1 đến 3) hoặc chọn các số tương ứng với số thứ tự cần lấy (lấy số 1,3,4..) để điền
dữ liệu tương ứng với số thứ tự và Mã Nhân Viên sang cả hai sheet(List_Ly lich_16) và Sheet(List_Kinh Nghiem_17).

11111.png33333.png222222.png
 

File đính kèm

  • duyet.xlsx
    64.3 KB · Đọc: 6
Bạn viết yêu cầu hơi rối mình đọc hơi khó hiểu chút, góp ý bạn là nên viết súc tích hơn với ít viết lặp Sheet sheet đi, đọc hồi mắt mình toàn chữ sheet thôi. ý bạn là giờ cần 1 nút, khi nhấn vào dữ liệu sẽ điền từ "DM_HD" sang các Sheet khác theo số thứ tự phải không?
 
Bạn viết yêu cầu hơi rối mình đọc hơi khó hiểu chút, góp ý bạn là nên viết súc tích hơn với ít viết lặp Sheet sheet đi, đọc hồi mắt mình toàn chữ sheet thôi. ý bạn là giờ cần 1 nút, khi nhấn vào dữ liệu sẽ điền từ "DM_HD" sang các Sheet khác theo số thứ tự phải không?
Dạ! Hi...
Vâng anh/chị giúp em đoạn code để khi chạy code::
Lấy dữ liệu từ "DM_HD" (cột tô nềnxanh) sẽ được điền sang "List_Ly Lich_16""List_Kinh Nghiem_17".
Lấy theo số thứ tự: Khi chạy code sẽ hỏi số thứ tự tương ứng với dòng từ "DM_HD" để lấy sang "List_Ly Lich_16" và"List_Kinh Nghiem_17"
Và có thể chọn số lấy theo ý muôn : lấy từ số này đến số này hoặc chọn số cần lấy (1,3,6...) dữ liệu sang.
Ở file trên số thứ tự ở "DM_HD" là 1,2,3 em lấy dữ liệu tương ứng với số 2, 3 sang "List_Ly Lich_16""List_Kinh Nghiem_17" chứ không lấy cả 1,2,3
Anh/chị giúp em, em xin cảm ơn!
 
Mình tạo thêm 1 vùng để lựa chọn dữ liệu ở vùng AC3 trong sheet "DM_HD", có 2 nút để lấy dữ liệu (theo thứ tự và theo lựa chọn). Cột AD có viền là nơi bạn chọn các STT mong muốn. Do không có thời gian nên mình chưa viết lệnh bỏ qua dữ liệu trùng. Mình thì không giỏi CODE nên CODE sẽ không được chỉnh chu mong có gì bạn thông cảm nha (xem file)
Mã:
Sub Chuyen_Trang_Den_Trang()
Dim Dongcuoi16 As Long
Dim Dongcuoi17 As Long
Dim i As Long
For i = [AD3] + 14 To [AF3] + 14
    Sheets("List_Ly Lich_16").Activate
    With ActiveSheet
        Dongcuoi16 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    Sheets("List_Ly Lich_16").Range("B" & Dongcuoi16) = Sheets("DM_HD").Range("A" & i).Value
    Sheets("List_Ly Lich_16").Range("C" & Dongcuoi16) = Sheets("DM_HD").Range("AA" & i).Value
    Sheets("List_Ly Lich_16").Range("D" & Dongcuoi16) = Sheets("DM_HD").Range("D" & i).Value
    Sheets("List_Ly Lich_16").Range("E" & Dongcuoi16) = Sheets("DM_HD").Range("F" & i).Value
    Sheets("List_Ly Lich_16").Range("F" & Dongcuoi16) = Sheets("DM_HD").Range("M" & i).Value
    Sheets("List_Ly Lich_16").Range("G" & Dongcuoi16) = Sheets("DM_HD").Range("N" & i).Value
    Sheets("List_Kinh Nghiem_17").Activate
    With ActiveSheet
        Dongcuoi17 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    Sheets("List_Kinh Nghiem_17").Range("B" & Dongcuoi17) = Sheets("DM_HD").Range("A" & i).Value
    Sheets("List_Kinh Nghiem_17").Range("C" & Dongcuoi17) = Sheets("DM_HD").Range("AA" & i).Value
    Sheets("List_Kinh Nghiem_17").Range("D" & Dongcuoi17) = Sheets("DM_HD").Range("D" & i).Value
Next i
End Sub
Mã:
Sub Chuyen_Theo_Lua_Chon()
Dim DongcuoiDM As Long
Dim Dongcuoi16 As Long
Dim DongChon As Long
Dim i As Long
Sheets("DM_HD").Activate
With ActiveSheet
    DongcuoiDM = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With
For i = 4 To DongcuoiDM
    Sheets("List_Ly Lich_16").Activate
    With ActiveSheet
        Dongcuoi16 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    DongChon = Sheets("DM_HD").Range("AD" & i).Value + 14
    If DongChon = 14 Then
        Exit Sub
    End If
    Sheets("List_Ly Lich_16").Range("B" & Dongcuoi16) = Sheets("DM_HD").Range("A" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("C" & Dongcuoi16) = Sheets("DM_HD").Range("AA" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("D" & Dongcuoi16) = Sheets("DM_HD").Range("D" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("E" & Dongcuoi16) = Sheets("DM_HD").Range("F" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("F" & Dongcuoi16) = Sheets("DM_HD").Range("M" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("G" & Dongcuoi16) = Sheets("DM_HD").Range("N" & DongChon).Value
    Sheets("List_Kinh Nghiem_17").Activate
    With ActiveSheet
        Dongcuoi17 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    Sheets("List_Kinh Nghiem_17").Range("B" & Dongcuoi17) = Sheets("DM_HD").Range("A" & DongChon).Value
    Sheets("List_Kinh Nghiem_17").Range("C" & Dongcuoi17) = Sheets("DM_HD").Range("AA" & DongChon).Value
    Sheets("List_Kinh Nghiem_17").Range("D" & Dongcuoi17) = Sheets("DM_HD").Range("D" & DongChon).Value
Next i
End Sub
 

File đính kèm

  • Copy of duyet-1.xlsb
    44.8 KB · Đọc: 8
Mình tạo thêm 1 vùng để lựa chọn dữ liệu ở vùng AC3 trong sheet "DM_HD", có 2 nút để lấy dữ liệu (theo thứ tự và theo lựa chọn). Cột AD có viền là nơi bạn chọn các STT mong muốn. Do không có thời gian nên mình chưa viết lệnh bỏ qua dữ liệu trùng. Mình thì không giỏi CODE nên CODE sẽ không được chỉnh chu mong có gì bạn thông cảm nha (xem file)
Mã:
Sub Chuyen_Trang_Den_Trang()
Dim Dongcuoi16 As Long
Dim Dongcuoi17 As Long
Dim i As Long
For i = [AD3] + 14 To [AF3] + 14
    Sheets("List_Ly Lich_16").Activate
    With ActiveSheet
        Dongcuoi16 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    Sheets("List_Ly Lich_16").Range("B" & Dongcuoi16) = Sheets("DM_HD").Range("A" & i).Value
    Sheets("List_Ly Lich_16").Range("C" & Dongcuoi16) = Sheets("DM_HD").Range("AA" & i).Value
    Sheets("List_Ly Lich_16").Range("D" & Dongcuoi16) = Sheets("DM_HD").Range("D" & i).Value
    Sheets("List_Ly Lich_16").Range("E" & Dongcuoi16) = Sheets("DM_HD").Range("F" & i).Value
    Sheets("List_Ly Lich_16").Range("F" & Dongcuoi16) = Sheets("DM_HD").Range("M" & i).Value
    Sheets("List_Ly Lich_16").Range("G" & Dongcuoi16) = Sheets("DM_HD").Range("N" & i).Value
    Sheets("List_Kinh Nghiem_17").Activate
    With ActiveSheet
        Dongcuoi17 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    Sheets("List_Kinh Nghiem_17").Range("B" & Dongcuoi17) = Sheets("DM_HD").Range("A" & i).Value
    Sheets("List_Kinh Nghiem_17").Range("C" & Dongcuoi17) = Sheets("DM_HD").Range("AA" & i).Value
    Sheets("List_Kinh Nghiem_17").Range("D" & Dongcuoi17) = Sheets("DM_HD").Range("D" & i).Value
Next i
End Sub
Mã:
Sub Chuyen_Theo_Lua_Chon()
Dim DongcuoiDM As Long
Dim Dongcuoi16 As Long
Dim DongChon As Long
Dim i As Long
Sheets("DM_HD").Activate
With ActiveSheet
    DongcuoiDM = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With
For i = 4 To DongcuoiDM
    Sheets("List_Ly Lich_16").Activate
    With ActiveSheet
        Dongcuoi16 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    DongChon = Sheets("DM_HD").Range("AD" & i).Value + 14
    If DongChon = 14 Then
        Exit Sub
    End If
    Sheets("List_Ly Lich_16").Range("B" & Dongcuoi16) = Sheets("DM_HD").Range("A" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("C" & Dongcuoi16) = Sheets("DM_HD").Range("AA" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("D" & Dongcuoi16) = Sheets("DM_HD").Range("D" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("E" & Dongcuoi16) = Sheets("DM_HD").Range("F" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("F" & Dongcuoi16) = Sheets("DM_HD").Range("M" & DongChon).Value
    Sheets("List_Ly Lich_16").Range("G" & Dongcuoi16) = Sheets("DM_HD").Range("N" & DongChon).Value
    Sheets("List_Kinh Nghiem_17").Activate
    With ActiveSheet
        Dongcuoi17 = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
    End With
    Sheets("List_Kinh Nghiem_17").Range("B" & Dongcuoi17) = Sheets("DM_HD").Range("A" & DongChon).Value
    Sheets("List_Kinh Nghiem_17").Range("C" & Dongcuoi17) = Sheets("DM_HD").Range("AA" & DongChon).Value
    Sheets("List_Kinh Nghiem_17").Range("D" & Dongcuoi17) = Sheets("DM_HD").Range("D" & DongChon).Value
Next i
End Sub
Cám ơn anh/chị nhé!
 
Web KT
Back
Top Bottom