Form tự động đếm dữ liệu giống nhau trong cùng 1 Sheet và giữa 2 Sheet khác nhau

Liên hệ QC

anquang

Thành viên mới
Tham gia
28/3/09
Bài viết
1
Được thích
2
Đây là 1 Form đơn giản xử lý các công việc sau:

Chú ý BẠN NÊN LƯU FILE DỮ LIỆU GỐC RIÊNG RA TRƯỚC KHI SỬ DỤNG FORM MACRO VÌ CÓ THỂ XÓA TRÙNG MẤT DỮ LIỆU CỦA BẠN NẾU BẠN VÔ Ý DÙNG KHÔNG ĐÚNG CÁCH.

* Trường hợp dữ liệu nằm trên cùng một Sheet và cùng 1 cột (column). Trong File ví dụ dưới là Sheet1.
- Sau khi Sort, các dữ liệu trùng nhau trên cùng cột sẽ xếp gần nhau.
- Bạn điền vào số thứ tự của Cột dữ liệu (Cột 1=?) (lấy theo số chứ không lấy theo A, B, C, ví dụ Cột A là cột số 1, Cột C là cột 3, Cột J là cột 10)
Tôi để mặc định là cột 2 (cột B) bạn chỉ thay đổi tùy theo dữ liệu của bạn ở cột mấy.
- Điền tiếp số Row (số hàng), mặc định là 2. Số Row này là nơi bắt đầu so sánh dữ liệu.
- Click Tab "Trung nhau" thì chỉ so sánh và đưa ra số lượng trùng nhau trong cùng Sheet. Nhưng cẩn thận Click Sheet "Xóa Trùng" là xóa luôn. Mình tạm để ẩn Tùy chọn XoaTrung. Bạn nào có điều kiện và trình độ sẽ tự khai thác sau nhé.

- Macro sẽ xác định nếu các Cell dữ liệu gần nhau giống nhau sẽ đánh dấu (màu sắc và số lượng).
Bạn có thể thêm vào một số Function xử lý dữ liệu vào ra sau này khi bạn thành thạo , chẳng hạn Function chuyển hết tiếng việt có dấu thành không dấu...
- Tự động chèn 1 cột ngay sau cột dữ liệu chỉ định, ghi ra số lượng dữ liệu trùng nhau. Bạn có thể xóa cột này đi nếu không cần đếm số lượng.
- Bạn nên soát lại 1 lần nữa vì Macro so sánh có phân biệt chữ hoa, chữ thường và ngôn ngữ là tiếng anh.
Nhưng công việc của bạn sẽ dễ hơn vì các Cell giống nhau đã đánh dấu trùng màu sắc.

* Trường hợp dữ liệu nằm trên 2 cột khác nhau và nằm ở 2 sheet khác nhau.
- CLICK TAB 2: "Xoa Trung in 2 Sheet difference" tức là Xóa trùng trên 2 sheet khác nhau. Click "Page 3" để hiện lên Form tương ứng.
- Bạn điền tên Sheet thứ 1 làm dữ liệu so sánh, Điền tên Sheet thứ 2 là dữ liệu chuẩn. Mặc định là dấu "?" thì khi bạn Click kép Mouse nó sẽ tự động điền tên Sheet hiện tại của bạn. Tốt nhất bạn nên điền tên Sheet chính xác nhé.
- Điền vào số Column chứa dữ liệu tương ứng ở mỗi loại Sheet trên. Riêng ở phần Sheet 1 ở trên bạn sẽ điền cả 1 vùng dữ liệu gọi là "Vùng tìm kiếm", trường hợp này bạn sẽ search trên cả 1 khối). Nhưng chú ý bạn vẫn phải điền vào số thứ tự vào ô CotNguoiNop2 vì Chương trình sẽ tự động chèn 1 Column ngay sau CotNguoiNop2 để nêu một số thông tin so sánh. Vùng dữ liệu ví dụ là "A2:C700" tức là lấy 1 ô dữ liệu ở Sheet 2 và dò tìm trên cả 1 vùng từ A2 đến ô C700 của Sheet1.
- Nếu muốn so sánh từng ô với nhau thì dùng tùy chọn "CELL BY CELL". Việc này làm chậm hơn quá trình So sánh nhưng sẽ cẩn thận dò từng ô chính xác đến từng dấu chấm phẩy. Tôi không khuyến khích dùng Tùy chọn này khi khi search dữ liệu trên 20000 Cells sẽ chậm.
- Click nút XỬ LÝ sau khi đã điền hết các thông tin. Chương trình tự động chay.
- Chú ý, Form Chương trình sẽ luôn tự động chèn thêm 1 cột Column vào sau Cột dữ liệu của bạn. Với Sheetlamviec thì Cotnguoinop2 sẽ tạm coi là cột dữ liệu. Bạn nên dự phòng trường hợp vùng tìm kiếm của bạn bao gồm cả Cột mới chèn vào. Tốt nhất nên để CotnguoiNop2 >= Cột cuối cùng của vùng tìm kiếm.
- Sau khi kết thúc ấn Nút HIDE thì Form tạm ẩn nhưng các thông tin đã điền như tên Sheetlamviec, SheetChuan vẫn còn nguyên, chỉ việc bạn Call Macro bằng Macro Call Form đi kèm nó sẽ chạy lại. (Ấn ALT+F8 để hiện cửa sổ chạy Macro). Nếu bấm Nút THOÁT thì sẽ mất hết các dữ liệu bạn vừa điện và phải điền lại từ đâu.
- Form sẽ tự động điền thông tin thêm vào Cột vừa tự động chèn như: "Tên Sheet dùng so sánh, Số cột của dữ liệu trùng...)



NHẮC LẠI: BẠN NÊN TỰ SAO LƯU 1 FILE DỮ LIỆU GỐC RIÊNG TRƯỚC KHI CHẠY FORM VÌ NÓ SẼ THAY ĐỔI SỐ THỨ TỰ CỘT CỦA BẠN SAU KHI LÀM VIỆC.


Lợi ích của FORM này:
- Tự động đánh dấu MÀU SẮC và chèn 1 cột ghi số lượng trùng nhau giữa các ô dữ liệu liền kề.
- Tự động So sánh dữ liệu giữa 2 Sheet khác nhau.
- Chương trình không thay đổi dữ liệu của bạn, nhưng sẽ chèn thêm 1 Cột để báo các thông tin liên quan nhưng số trùng nhau, nơi trùng nhau (tên Sheet và số cột).

Sau khi làm việc bạn có thể Sort ở tại Column thông tin mới thêm vào sẽ thấy hiện lên các ô đánh dấu là giống nhau.



Vì thời gian có hạn, có nhiều điều chắc sẽ phải giải thích khi phát sinh vấn đề. Bạn cứ hỏi tại đây, tôi sẽ online 1 tuần ở chủ đề để trả lời.
Trong Form còn rất nhiều điểm bạn có thể tự khám phá, Ví dụ Nút lệnh TrungNhau2, Cell by Cell, Dùng hàm xử lý dữ liệu trước khi so sánh...
 

File đính kèm

  • ViduFormXoaTrung.rar
    91.9 KB · Đọc: 2,182
anthan Bài viết hay quá nhưng chưa hướng dẫn chi tiết. mà mình download file đính kèm về, bật lên mở marcro ko edit xem được form bạn thiết kế là sao nhỉ...Bạn post tiếp bài chi tiết về chủ đề này nhé. Thanks!?
 
Tổng hợp thành file hoàn thiện

Kính gửi Anh/Chị em diễn đàn.

Tháng nào mình củng tổng hợp file của các chi nhánh lại thành một file tổng hợp rất vất vã.
Em có gửi file đính kèm, Anh/Chị nào biết cách chạy công thức macro hoặc chạy công thức tổng hợp lại thành một file giúp em với.


mail của mình : nguyenvietngoc1987@gmail.com
Cảm ơn các Anh/Chị nhiều !

Đây là 1 Form đơn giản xử lý các công việc sau:

Chú ý BẠN NÊN LƯU FILE DỮ LIỆU GỐC RIÊNG RA TRƯỚC KHI SỬ DỤNG FORM MACRO VÌ CÓ THỂ XÓA TRÙNG MẤT DỮ LIỆU CỦA BẠN NẾU BẠN VÔ Ý DÙNG KHÔNG ĐÚNG CÁCH.

* Trường hợp dữ liệu nằm trên cùng một Sheet và cùng 1 cột (column). Trong File ví dụ dưới là Sheet1.
- Sau khi Sort, các dữ liệu trùng nhau trên cùng cột sẽ xếp gần nhau.
- Bạn điền vào số thứ tự của Cột dữ liệu (Cột 1=?) (lấy theo số chứ không lấy theo A, B, C, ví dụ Cột A là cột số 1, Cột C là cột 3, Cột J là cột 10)
Tôi để mặc định là cột 2 (cột B) bạn chỉ thay đổi tùy theo dữ liệu của bạn ở cột mấy.
- Điền tiếp số Row (số hàng), mặc định là 2. Số Row này là nơi bắt đầu so sánh dữ liệu.
- Click Tab "Trung nhau" thì chỉ so sánh và đưa ra số lượng trùng nhau trong cùng Sheet. Nhưng cẩn thận Click Sheet "Xóa Trùng" là xóa luôn. Mình tạm để ẩn Tùy chọn XoaTrung. Bạn nào có điều kiện và trình độ sẽ tự khai thác sau nhé.

- Macro sẽ xác định nếu các Cell dữ liệu gần nhau giống nhau sẽ đánh dấu (màu sắc và số lượng).
Bạn có thể thêm vào một số Function xử lý dữ liệu vào ra sau này khi bạn thành thạo , chẳng hạn Function chuyển hết tiếng việt có dấu thành không dấu...
- Tự động chèn 1 cột ngay sau cột dữ liệu chỉ định, ghi ra số lượng dữ liệu trùng nhau. Bạn có thể xóa cột này đi nếu không cần đếm số lượng.
- Bạn nên soát lại 1 lần nữa vì Macro so sánh có phân biệt chữ hoa, chữ thường và ngôn ngữ là tiếng anh.
Nhưng công việc của bạn sẽ dễ hơn vì các Cell giống nhau đã đánh dấu trùng màu sắc.

* Trường hợp dữ liệu nằm trên 2 cột khác nhau và nằm ở 2 sheet khác nhau.
- CLICK TAB 2: "Xoa Trung in 2 Sheet difference" tức là Xóa trùng trên 2 sheet khác nhau. Click "Page 3" để hiện lên Form tương ứng.
- Bạn điền tên Sheet thứ 1 làm dữ liệu so sánh, Điền tên Sheet thứ 2 là dữ liệu chuẩn. Mặc định là dấu "?" thì khi bạn Click kép Mouse nó sẽ tự động điền tên Sheet hiện tại của bạn. Tốt nhất bạn nên điền tên Sheet chính xác nhé.
- Điền vào số Column chứa dữ liệu tương ứng ở mỗi loại Sheet trên. Riêng ở phần Sheet 1 ở trên bạn sẽ điền cả 1 vùng dữ liệu gọi là "Vùng tìm kiếm", trường hợp này bạn sẽ search trên cả 1 khối). Nhưng chú ý bạn vẫn phải điền vào số thứ tự vào ô CotNguoiNop2 vì Chương trình sẽ tự động chèn 1 Column ngay sau CotNguoiNop2 để nêu một số thông tin so sánh. Vùng dữ liệu ví dụ là "A2:C700" tức là lấy 1 ô dữ liệu ở Sheet 2 và dò tìm trên cả 1 vùng từ A2 đến ô C700 của Sheet1.
- Nếu muốn so sánh từng ô với nhau thì dùng tùy chọn "CELL BY CELL". Việc này làm chậm hơn quá trình So sánh nhưng sẽ cẩn thận dò từng ô chính xác đến từng dấu chấm phẩy. Tôi không khuyến khích dùng Tùy chọn này khi khi search dữ liệu trên 20000 Cells sẽ chậm.
- Click nút XỬ LÝ sau khi đã điền hết các thông tin. Chương trình tự động chay.
- Chú ý, Form Chương trình sẽ luôn tự động chèn thêm 1 cột Column vào sau Cột dữ liệu của bạn. Với Sheetlamviec thì Cotnguoinop2 sẽ tạm coi là cột dữ liệu. Bạn nên dự phòng trường hợp vùng tìm kiếm của bạn bao gồm cả Cột mới chèn vào. Tốt nhất nên để CotnguoiNop2 >= Cột cuối cùng của vùng tìm kiếm.
- Sau khi kết thúc ấn Nút HIDE thì Form tạm ẩn nhưng các thông tin đã điền như tên Sheetlamviec, SheetChuan vẫn còn nguyên, chỉ việc bạn Call Macro bằng Macro Call Form đi kèm nó sẽ chạy lại. (Ấn ALT+F8 để hiện cửa sổ chạy Macro). Nếu bấm Nút THOÁT thì sẽ mất hết các dữ liệu bạn vừa điện và phải điền lại từ đâu.
- Form sẽ tự động điền thông tin thêm vào Cột vừa tự động chèn như: "Tên Sheet dùng so sánh, Số cột của dữ liệu trùng...)



NHẮC LẠI: BẠN NÊN TỰ SAO LƯU 1 FILE DỮ LIỆU GỐC RIÊNG TRƯỚC KHI CHẠY FORM VÌ NÓ SẼ THAY ĐỔI SỐ THỨ TỰ CỘT CỦA BẠN SAU KHI LÀM VIỆC.


Lợi ích của FORM này:
- Tự động đánh dấu MÀU SẮC và chèn 1 cột ghi số lượng trùng nhau giữa các ô dữ liệu liền kề.
- Tự động So sánh dữ liệu giữa 2 Sheet khác nhau.
- Chương trình không thay đổi dữ liệu của bạn, nhưng sẽ chèn thêm 1 Cột để báo các thông tin liên quan nhưng số trùng nhau, nơi trùng nhau (tên Sheet và số cột).

Sau khi làm việc bạn có thể Sort ở tại Column thông tin mới thêm vào sẽ thấy hiện lên các ô đánh dấu là giống nhau.



Vì thời gian có hạn, có nhiều điều chắc sẽ phải giải thích khi phát sinh vấn đề. Bạn cứ hỏi tại đây, tôi sẽ online 1 tuần ở chủ đề để trả lời.
Trong Form còn rất nhiều điểm bạn có thể tự khám phá, Ví dụ Nút lệnh TrungNhau2, Cell by Cell, Dùng hàm xử lý dữ liệu trước khi so sánh...
 

File đính kèm

  • VI DU.rar
    15.7 KB · Đọc: 225
Web KT
Back
Top Bottom