Trích lọc (điền) dữ liệu tự động cho nhiều sheet

Liên hệ QC

Người Đưa Tin

Hạt cát sông Hằng
Thành viên danh dự
Tham gia
12/12/06
Bài viết
3,661
Được thích
18,158
Mình có file này gồm 2 sheet: DS CNV và Ho so nhan vien.

1.- Khi nhập dữ liệu ở sheet DS CNV cho các cột từ A đến E, muốn dữ liệu này tự động điền vào sheet Ho so nhan vien tương ứng ở các cột từ A đến E

2.- Thêm 1 tình huống khác, giả sử đã có dữ liệu đầy đủ ở sheet DS CNV, muốn trích dữ liệu từ sheet DS CNV ở các cột từ A đến E (sheet DS CNV) sang sheet Ho so nhan vien tương ứng ở các cột từ A đến đến E

Vui lòng chỉ dẫn xử lý cho 2 tình huống này. Chân thành cám ơn.
(Sử dụng Office 2003)
 

File đính kèm

  • test_formule.rar
    15.2 KB · Đọc: 34
Mình có file này gồm 2 sheet: DS CNV và Ho so nhan vien.

1.- Khi nhập dữ liệu ở sheet DS CNV cho các cột từ A đến E, muốn dữ liệu này tự động điền vào sheet Ho so nhan vien tương ứng ở các cột từ A đến E

2.- Thêm 1 tình huống khác, giả sử đã có dữ liệu đầy đủ ở sheet DS CNV, muốn trích dữ liệu từ sheet DS CNV ở các cột từ A đến E (sheet DS CNV) sang sheet Ho so nhan vien tương ứng ở các cột từ A đến đến E

Vui lòng chỉ dẫn xử lý cho 2 tình huống này. Chân thành cám ơn.
(Sử dụng Office 2003)
1/ Em nghĩ khi nhập xong dsNhanVien thi copy và dán qua HSNV cho nhanh
2/ Cách 2 là tạo 1 name Manv và DSNV từ sh DS_CNV
Và tại sh Hosonhanvien thì dùng Vlookup như file kèm.
Bác có thể nhập maNV vào cột B các cột còn lại tự động theo ct. Không biết e dùng ct trên có đúng chưa nhờ Bác test lại.
Lưu ý: Tên sh nên dùng
- Chữ không dấu
- Không có blank.
 

File đính kèm

  • HoSoNV.rar
    12.4 KB · Đọc: 70
Lần chỉnh sửa cuối:
1/ Em nghĩ khi nhập xong dsNhanVien thi copy và dán qua HSNV cho nhanh

Lúc đầu, em cũng đề xuất cách này nhưng chief bảo:
+ Có nhiều sheet tương tự như thế hông nhe cứ copy
+ hoặc sheet dsNhanVien có lúc xóa đi 1 dòng hoặc chèn vào nhiều dòng khác, sẽ lỗi cho trường hợp này như sheet DS_ CNV (file của Thầy) giải hộ cho em.

2/ Cách 2 là tạo 1 name Manv và DSNV từ sh DS_CNV
Và tại sh Hosonhanvien thì dùng Vlookup như file kèm.
Bác có thể nhập maNV vào cột B các cột còn lại tự động theo ct. Không biết e dùng ct trên có đúng chưa nhờ Bác test lại.
Lưu ý: Tên sh nên dùng
- Chữ không dấu
- Không có blank.

Em có tham khảo file của Thầy nhưng chưa đáp ứng nhu cầu mong đợi.

1.- Tại sheet DS_ CNV (file của Thầy), xóa đi 1 dòng hoặc chèn 1 dòng sẽ sai
2.- Tại sheet Hosonhanvien (file của Thầy), người quản lý của em yêu cầu là nếu dữ liệu tại DS_ CNV có sao thì trích sang như thế (Không thay đổi cả số thứ tự ở bên sheet Hosonhanvien với sheet DS_ CNV) và điều quan trọng là không còn chọn lựa gì cả như trong bài toán của Thầy cho. Dữ liệu Hosonhanvien sẽ tự động nhảy (lấy) từ sheet DS_ CNV

Chân thành cám ơn Thầy.

Em nghĩ chắc không thể dùng công thức giải quyết cho bài toán trên quá nhỉ, hay phải dùng 1 đoạn code để xử lý tình huống này.
Ngoài ra, trong vấn đề này em chưa để cập vấn đề mã nhân viên trùng.
 
Lúc đầu, em cũng đề xuất cách này nhưng chief bảo:
+ Có nhiều sheet tương tự như thế hông nhe cứ copy
+ hoặc sheet dsNhanVien có lúc xóa đi 1 dòng hoặc chèn vào nhiều dòng khác, sẽ lỗi cho trường hợp này như sheet DS_ CNV (file của Thầy) giải hộ cho em.



Em có tham khảo file của Thầy nhưng chưa đáp ứng nhu cầu mong đợi.

1.- Tại sheet DS_ CNV (file của Thầy), xóa đi 1 dòng hoặc chèn 1 dòng sẽ sai
2.- Tại sheet Hosonhanvien (file của Thầy), người quản lý của em yêu cầu là nếu dữ liệu tại DS_ CNV có sao thì trích sang như thế (Không thay đổi cả số thứ tự ở bên sheet Hosonhanvien với sheet DS_ CNV) và điều quan trọng là không còn chọn lựa gì cả như trong bài toán của Thầy cho. Dữ liệu Hosonhanvien sẽ tự động nhảy (lấy) từ sheet DS_ CNV

Chân thành cám ơn Thầy.

Em nghĩ chắc không thể dùng công thức giải quyết cho bài toán trên quá nhỉ, hay phải dùng 1 đoạn code để xử lý tình huống này.
Ngoài ra, trong vấn đề này em chưa để cập vấn đề mã nhân viên trùng.
Theo em thấy, yêu cầu của bác Trí cực kỳ khó, em nghĩ phải gặp mặt để bác Trí nói thật chi tiết mọi yêu cầu mới hy vọng giải quyết rốt ráo vấn đề
Về địa điểm gặp em đề nghị quán Số 1, quán 75 Hoàng Sa hoặc muốn gần nhà bác Trí thì ra quán 666 Phan văn Hân (mới khai trương_ mồi hơi mắc)
Thời gian: lúc nào bác Trí rảnh & khỏe
_)(#;Híc
Còn nếu không thích ra quán thì anh em mình lên nhà thầy Mỹ, ba cái vụ này thầy Mỹ "xoẹt" một cáii là xong ngay thôi. Hihi
 
Lần chỉnh sửa cuối:
Thỏa thuận fương án trước khi làm:

1.- Khi nhập dữ liệu ở sheet DS CNV cho các cột từ A đến E, muốn dữ liệu này tự động điền vào sheet Ho so nhan vien tương ứng ở các cột từ A đến E
Dùng macro sự kiện tại cột 'E' (Với Đ/K cột này luôn có dữ liệu để nhập);
Sau khi {ENTER} tại dòng i đang nhập liệu ([Ei]), dữ liệu của Ai:Ei sẽ được chép sang trang 'HoSo';

2.- Thêm 1 tình huống khác, giả sử đã có dữ liệu đầy đủ ở sheet DS CNV, muốn trích dữ liệu từ sheet DS CNV ở các cột từ A đến E (sheet DS CNV) sang sheet Ho so nhan vien tương ứng ở các cột từ A đến đến E
(Có nghĩa là cần chép nhiều Records từ trang 'DSach' sang 'HoSo' )
Ta cần làm 1 nút lệnh 'Sao chép' để macro gắn liền với nó sẽ:
Kiểm record nào chưa có bên 'HoSo' sẽ được chép qua thêm;
3.- hoặc sheet dsNhanVien có lúc xóa đi 1 dòng hoặc chèn vào nhiều dòng khác, sẽ lỗi cho trường hợp
(Chèn nhiều dòng ta đã đề cập bên trên);
Trường hợp đã xóa ở 'DSach', thì cần 1 macro (trước mắt là vậy, sau này có thể kết hợp thành chỉ gồm 1 macro), để nó kiểm xem bên 'HoSo' dư anh nào thì x á anh đó đi!

Chờ thông tin từ bạn già!
 
Kiểm thử theo file nha, 2 fương án rồi đó

Các bước để kiểm:

B1: Chọn lần lượt từ trên xuống các hộp Validation tại 'E'; Xem kết quả bên trang 'HoSo' hay MsgBox của macro sự kiện;
(Có thể xóa vài lần Records bên 'HoSo' & thử lại đến chán.

B2: Xóa gần hết các record bên 'HoSo' (từ dưới lên à nha) & nhấn vô nút có trên trang 'DSach' để macro chép những record chưa có sang 'HoSo'

B3: Đưa ra những iêu cầu chưa thỏa.
 

File đính kèm

  • gpeNhanSu.rar
    25.5 KB · Đọc: 73
Xoá những Records dư bên trang 'HoSo'

Đủ 3 fương án rồi nhe.
 

File đính kèm

  • gpeNhanSu.rar
    27.4 KB · Đọc: 77
Lần chỉnh sửa cuối:
1.- Không rõ sao khi nhập liệu đầy đủ tại sheet DSach rồi và nhấn nút kiểm tra thì sao sheet HoSo chỉ mang qua được 31 records, mất 2 records đầu (số thự tự 1 và 2). Xem files đính kèm

2.- Xóa 1 dòng dữ liệu bất kỳ tại sheet DSach, báo lỗi: (Theo file tư vấn của Thầy/Cô HYen17)
Set sRng = Rng.Find(Target.Offset(, -3).Value, , xlFormulas, xlWhole)

Vấn đề này đã được bác ChanhTQ@ khắc phục lỗi

Yêu cầu thêm: Nếu bên sheet HoSo có dữ liệu từ cột F trở đi thì không cho xóa dữ liệu của sheet DSach

Yêu câu bổ sung cho bài 1:

3.- Khi chép (thực hiện kiểm tra) từ sheet DSach qua sheet HoSo không đổi định dạng.

3.1 .- Nhờ Thầy/Cô giúp em, gán định dạng hẳn cho cột B - Mã NV của sheet HoSo, dạng text hẳn;
3.2.- Cột E - Chức vụ của sheet HoSo, chỉnh định dạng mặc định canh giữa.

4.- sheet DSach, khi có phát sinh mới, nhập liệu kiểm tra mã số trùng thì báo động: “Mã số nhân viên đã tồn tại”

Chân thành cám ơn Thầy/cô đã giúp đỡ.
 

File đính kèm

  • HoSo2.rar
    28 KB · Đọc: 31
1.- Không rõ sao khi nhập liệu đầy đủ tại sheet DSach rồi và nhấn nút kiểm tra thì sao sheet HoSo chỉ mang qua được 31 records, mất 2 records đầu (số thự tự 1 và 2). Xem files đính kèm

(2)Yêu cầu thêm: Nếu bên sheet HoSo có dữ liệu từ cột F trở đi thì không cho xóa dữ liệu của sheet DSach

Yêu câu bổ sung cho bài 1:

3.- Khi chép (thực hiện kiểm tra) từ sheet DSach qua sheet HoSo không đổi định dạng.

3.1 .- Nhờ Thầy/Cô giúp em, gán định dạng hẳn cho cột B - Mã NV của sheet HoSo, dạng text hẳn;
3.2.- Cột E - Chức vụ của sheet HoSo, chỉnh định dạng mặc định canh giữa.

4.- sheet DSach, khi có phát sinh mới, nhập liệu kiểm tra mã số trùng thì báo động: “Mã số nhân viên đã tồn tại”

(2) Nếu bên 'HôSo' có dữ liệu từ 'F' trỡ đi, thì chỉ nên tô màu nền cho Record đó bên 'DSach', OK!

(3.1) Bạn không nên lựa chọn fương án mã nhân viên là các ký số tập hợp lại, mà nên là trị chuỗi ký tự;
/(/ếu í sếp buộc vậy, thì mã có độ dài như nhau & quan trọng nhất (trong excel) là không được bắt đầu là con số 0. Có lẻ chúng ta nên chọn fương án đánh số từ cao xuống thấp, nghĩa là bắt đầu từ 99999 & giảm dần!

(3.2) Vì iêu cầu chép định dạng (3.0) đã thỏa, nên muốn 'E' bên 'HoSo' có định dạng thế nào thì hãy định dạng cột tương ứng bên 'DSach' như rứa.

(4): Sẽ ngâm cứu sớm
 

File đính kèm

  • gpeNhanSu.rar
    28.3 KB · Đọc: 65
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom