Chào bạn,Dear All, em có một bảng dữ liệu gồm nhiều Sheet khác nhau và cần tổng hợp tên ứng viên trúng tuyển theo số CMt ( tức là khi nhập số CMT vào ô CMT thì các thông tin ở các cột bôi àu vàng được hiển thị
Bài này ai hay mấy cũng chưa xử lý được "mượt" đâu với kiểu dữ liệu "đôi ngả chia ly" như này. Cái cần làm đầu tiên là thiết kết lại bảng dữ liệu đầu vào. Cho về một bảng trên 1 sheet, tên trường ("bắc hải"... - không rõ có phải là trường hay địa chỉ) thì điền vào một cột thứ tự từ trên xuống.Linh ghê luôn á. Tớ định tag cậu vào rồi á. Vì thấy cậu hay xử lý rất mượt mấy bài dạng này.
Mà thấy cấu trúc dữ liệu chán quá nên đành có vài lời với thớt trước 1 phen.![]()
Cám ơn bạn, mình sẽ sửa lại cấu trúc và gửi lại để mọi người hỗ trợChào bạn,
Mình thấy bài bạn đã 2 ngày rồi mà chưa có ai hỗ trợ (nhất định là vì... 1 lý do nào đó). Lần sau bạn thay cụm "Dear All" thành "Chào mọi người" là được rồi ạ.
Về yêu cầu của bạn, mình nói thế này. Có 2 vấn đề về thiết kế và dữ liệu mình thấy đầu tiên:
1. Tên tiêu đề các cột ở sheet Tổng hợp đầu tiên của bạn không đồng bộ với tên tiêu đề các sheet dữ liệu => căng !
2. Tên tiêu đề các cột ở những sheet dữ liệu cũng không đồng bộ => căng luôn. Đồng bộ ở đây ý nói về cả nội dung lẫn thiết kế bảng (cấu trúc) đó bạn. Mình thấy mỗi sheet có số lượng cột khác nhau và nội dung cũng khác (lúc có lúc không tiếng Hàn).
Hai điều trên gây khó khăn cho việc dò tìm dữ liệu của bạn đó. Bạn phải chịu khó xử lý 2 điều trên trước khi làm những việc tiếp theo => một phần nào gọi là bước đồng bộ/chuẩn hóa dữ liệu trước khi xử lý chúng.
Bạn cứ copy ra 1 file y chang để xử lý, nếu ngại phải thay đổi cái file "hư đốn" này có khi cần phải xài đến.
Xong rồi bạn tải lại file đã xử lý mọi người sẽ hỗ trợ bạn cho.
Thân.
Chào bạn mình đã sửa lại cấu trúc file, mong bạn giúp đỡChào bạn,
Mình thấy bài bạn đã 2 ngày rồi mà chưa có ai hỗ trợ (nhất định là vì... 1 lý do nào đó). Lần sau bạn thay cụm "Dear All" thành "Chào mọi người" là được rồi ạ.
Về yêu cầu của bạn, mình nói thế này. Có 2 vấn đề về thiết kế và dữ liệu mình thấy đầu tiên:
1. Tên tiêu đề các cột ở sheet Tổng hợp đầu tiên của bạn không đồng bộ với tên tiêu đề các sheet dữ liệu => căng !
2. Tên tiêu đề các cột ở những sheet dữ liệu cũng không đồng bộ => căng luôn. Đồng bộ ở đây ý nói về cả nội dung lẫn thiết kế bảng (cấu trúc) đó bạn. Mình thấy mỗi sheet có số lượng cột khác nhau và nội dung cũng khác (lúc có lúc không tiếng Hàn).
Hai điều trên gây khó khăn cho việc dò tìm dữ liệu của bạn đó. Bạn phải chịu khó xử lý 2 điều trên trước khi làm những việc tiếp theo => một phần nào gọi là bước đồng bộ/chuẩn hóa dữ liệu trước khi xử lý chúng.
Bạn cứ copy ra 1 file y chang để xử lý, nếu ngại phải thay đổi cái file "hư đốn" này có khi cần phải xài đến.
Xong rồi bạn tải lại file đã xử lý mọi người sẽ hỗ trợ bạn cho.
Thân.
Ý bạn muốn nhập từng số chứng minh thì nó tự động lấy số liệu theo ý bạn .hay là muốn tổng hợp hết tất cả các ứng viên?
Thử :Chào bạn mình đã sửa lại cấu trúc file, mong bạn giúp đỡ
Đua đòi chấm phẩy gì ở đây, tui đọc rồi chấm chi nữa
Đua đòi chấm phẩy gì ở đây, tui đọc rồi chấm chi nữa![]()
em muốn nhập số chứng minh nó tự động lấy số liệu ạÝ bạn muốn nhập từng số chứng minh thì nó tự động lấy số liệu theo ý bạn .hay là muốn tổng hợp hết tất cả các ứng viên?
mình không thấy thay đổi gì cảThử :
File bạn lang văn ngũ nhiều quá làm tui tưởng code sai
Bạn xem bài này công thức của Bác @befaintem muốn nhập số chứng minh nó tự động lấy số liệu ạ
Nhiều khả năng ấn dấu "x" rồiNhấn vào đây nha bạn.còn muốn để nhập từng số bằng tay thì phải sửa code thành sự kiện thay đổi giá trị của một cells
View attachment 249491
sợ mà tắt đi đã rồi tínhNhiều khả năng ấn dấu "x" rồi![]()
Bạn xem code sau và tùy biến dùng nhé.Chào bạn mình đã sửa lại cấu trúc file, mong bạn giúp đỡ
Sub TimDL()
Dim strSQL As String
Dim i As Integer
For i = 2 To 8
strSQL = strSQL & " Union All Select * From [" & Sheets(i).Name & "$A1:N100] Where F8 Is Not Null"
Next
strSQL = Right(strSQL, Len(strSQL) - 11)
With CreateObject("ADODB.Recordset")
.Open "Select * from (" & strSQL & ") Where F8 In (Select F1 From [" & Sheets(1).Name & "$H2:H7])", "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=""Excel 12.0 Xml;HDR=No"";Data Source=" & ThisWorkbook.FullName, 1, 3
Sheet1.Range("A10").CopyFromRecordset .DataSource
End With
End Sub