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
- Điểm
- 148
Em có vấn đề sau xin được sự giúp đỡ:
Nhấn nút lệnh là "Điền máy thi công" ở sheet "May thi cong" để điền máy thi công vào cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh"
Máy thi công được điền vào cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh" theo quy luật:
Các từ khóa ở vị trí đầu dòng cột"NỘI DUNG CÔNG VIỆC" (cột D) trong sheet"Duong Binh Minh" tương ứng với từng ngày sẽ được điền bằng tay vào "cột B" của sheet "May thi cong", dữ liệu "cột B" này sẽ được đối chiếu tương ứng với cột C (Tên máy móc) để điền được tên máy thi công tương ứng với nội dung công việc sang cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh"
Vấn đề là:
Khi tên máy thi công được điền vào cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh" sẽ có tên các máy trùng nhau được điền với số lần >= 2 lần.
Vì các công việc đôi khi cần cùng một loại máy
Em nhờ các anh/chị sửa lại đoạn code có tên là "DungCuThiCong" tương ứng với nút lệnh "Điền máy thi công" ở sheet "May thi cong" để khi điền tên máy thi công thì các máy nào nếu trùng nhau chỉ được điền 1 lần mà không được lặp lại 02 lần (như hình thứ 2)
Code cần sửa :
Em xin cảm ơn!
Nhấn nút lệnh là "Điền máy thi công" ở sheet "May thi cong" để điền máy thi công vào cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh"
Máy thi công được điền vào cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh" theo quy luật:
Các từ khóa ở vị trí đầu dòng cột"NỘI DUNG CÔNG VIỆC" (cột D) trong sheet"Duong Binh Minh" tương ứng với từng ngày sẽ được điền bằng tay vào "cột B" của sheet "May thi cong", dữ liệu "cột B" này sẽ được đối chiếu tương ứng với cột C (Tên máy móc) để điền được tên máy thi công tương ứng với nội dung công việc sang cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh"
Vấn đề là:
Khi tên máy thi công được điền vào cột "MÁY MÓC/THIẾT BỊ" (cột H) của sheet "Duong Binh Minh" sẽ có tên các máy trùng nhau được điền với số lần >= 2 lần.
Vì các công việc đôi khi cần cùng một loại máy
Em nhờ các anh/chị sửa lại đoạn code có tên là "DungCuThiCong" tương ứng với nút lệnh "Điền máy thi công" ở sheet "May thi cong" để khi điền tên máy thi công thì các máy nào nếu trùng nhau chỉ được điền 1 lần mà không được lặp lại 02 lần (như hình thứ 2)
Code cần sửa :
Mã:
Public Sub DungCuThiCong()
Dim Dic As Object, sArr(), dArr(), tArr(), Rng As Range, Cll As Range, Txt As String
Dim I As Long, N As Long, R1 As Long, R2 As Long, Rws As Long
Set Dic = CreateObject("Scripting.Dictionary")
Set Rng = Sheets("May thi cong").Range("F1", Sheets("May thi cong").Range("F1000").End(xlUp))
tArr = Sheets("May thi cong").Range("B2", Sheets("May thi cong").Range("B2").End(xlDown)).Resize(, 2).Value
R2 = UBound(tArr)
For Each Cll In Rng
With Sheets(Cll.Value)
sArr = .Range("C9", .Range("D60000").End(xlUp)).Value
R1 = UBound(sArr)
ReDim dArr(1 To R1, 1 To 1)
For I = 1 To R1
If sArr(I, 1) <> Empty Then
Dic.RemoveAll
Rws = I
Else
Txt = sArr(I, 2)
For N = 1 To R2
If Txt Like tArr(N, 1) & "*" Then
If Not Dic.Exists(tArr(N, 2)) Then
Dic.Item(tArr(N, 2)) = ""
dArr(Rws, 1) = dArr(Rws, 1) & "; " & tArr(N, 2)
End If
End If
Next N
End If
Next I
For I = 1 To R1
If Len(dArr(I, 1)) Then
dArr(I, 1) = Mid(dArr(I, 1), 3)
End If
Next I
.Range("H9").Resize(R1) = dArr
End With
Next Cll
MsgBox "Xong!", , "GPE"
Set Dic = Nothing
End Sub
Em xin cảm ơn!
File đính kèm
Lần chỉnh sửa cuối: