Nhờ hỗ trợ dùng VBA để chuyển dữ liệu từ sheet này sang sheet khác

Liên hệ QC

hienmax

Thành viên mới
Tham gia
6/7/08
Bài viết
4
Được thích
0
Do mình không rành VBA, nhờ các bạn giúp mình viết VBA chuyển dữ liệu từ sheet này sang sheet khác với nhé, thông tin nhờ hỗ trợ mình ghi trong sheet "Nhờ hỗ trợ" file đính kèm.
Chân thành cảm ơn.
 

File đính kèm

  • C2G Data Base_GRANTS.xlsm
    234.8 KB · Đọc: 16
Do mình không rành VBA, nhờ các bạn giúp mình viết VBA chuyển dữ liệu từ sheet này sang sheet khác với nhé, thông tin nhờ hỗ trợ mình ghi trong sheet "Nhờ hỗ trợ" file đính kèm.
Chân thành cảm ơn.
Trong khi chờ đợi các giải pháp khác, thì hãy dùng thử code VBA này xem sao.
Code chỉ thực hiện Copy các cột được ghi trong cột C/Sheet7(nhờ hỗ trợ) và paste vào các cột của Sh GRANT (thông số được ghi ở Cột E/Sheet7 ).
Còn khúc "loại trừ , nếu cột C sheet Grants ="NEW", dữ liệu chuyển sang "WWF-NO" đòng đó báo lỗi" thì không hiểu.
Trong file có sử dụng hàm của Anh @ Hieu_CD. do vậy Không xóa phần công thức trong Sheet7 (nhờ hỗ trợ)
Xem file
 

File đính kèm

  • C2G Data Base_GRANTS (1).xlsm
    247.6 KB · Đọc: 8
Upvote 0
Do mình không rành VBA, nhờ các bạn giúp mình viết VBA chuyển dữ liệu từ sheet này sang sheet khác với nhé, thông tin nhờ hỗ trợ mình ghi trong sheet "Nhờ hỗ trợ" file đính kèm.
Chân thành cảm ơn.
Có 2 vấn đề về chuyển dữ liệu:
1. Tìm theo 1 cột nào đó rồi điền dữ liệu của C2G vào chỗ trống bên Grants. (Nếu vậy thì tìm theo cột nào của C2G ứng với cột nào của Grants)
2. Cứ chuyển lần lượt tất cả các dòng của C2G sang Grants (Nếu vậy thì câu: "loại trừ , nếu cột C sheet Grants ="NEW", dữ liệu chuyển sang "WWF-NO" đòng đó báo lỗi" sẽ không có ý nghĩa).
Ngoài ra tôi không hiểu ở câu: "nếu cột C sheet Grants ="NEW", dữ liệu chuyển sang "WWF-NO" đòng đó báo lỗi" bạn thực sự muốn nói gì?
 
Lần chỉnh sửa cuối:
Upvote 0
Trong khi chờ đợi các giải pháp khác, thì hãy dùng thử code VBA này xem sao.
Code chỉ thực hiện Copy các cột được ghi trong cột C/Sheet7(nhờ hỗ trợ) và paste vào các cột của Sh GRANT (thông số được ghi ở Cột E/Sheet7 ).
Còn khúc "loại trừ , nếu cột C sheet Grants ="NEW", dữ liệu chuyển sang "WWF-NO" đòng đó báo lỗi" thì không hiểu.
Trong file có sử dụng hàm của Anh @ Hieu_CD. do vậy Không xóa phần công thức trong Sheet7 (nhờ hỗ trợ)
Xem file
Cảm ơn bạn rất nhiều, bạn có thể giúp thêm : dữ liệu sheet Grants sau khi được copy sang dữ liệu được chứa đủ trong 1 ô (Wrap Text) không tràn sang các ô bên cạnh với nhé.
Xin lỗi bạn khi gửi file lần đầu mình không ghi chú rõ. Nếu được nhờ bạn dành thời gian giúp thêm mình chi tiết như mình ghi trong file đính kèm nha.
Chân thành cảm ơn
Bài đã được tự động gộp:

Có 2 vấn đề về chuyển dữ liệu:
1. Tìm theo 1 cột nào đó rồi điền dữ liệu của C2G vào chỗ trống bên Grants. (Nếu vậy thì tìm theo cột nào của C2G ứng với cột nào của Grants) ---> tìm cột A sheet C2G ứng với cột AC của sheet Grants bạn nhé, nhưng mã ID sheet Grants từ cột AC10 đến AC110 được mặc định chỉ cập nhật dữ liệu cho các cột nếu mã đó có phát sinh bên sheet C2G,. Nếu sheet C2G (cột A) có phát sinh thêm ID ngoài mã ID sheet Grants từ AC10 đến AC110 đang có thêm tiếp vào dòng cuối & copy các cột tương ứng
2. Cứ chuyển lần lượt tất cả các dòng của C2G sang Grants (Nếu vậy thì câu: "loại trừ , nếu cột C sheet Grants ="NEW", dữ liệu chuyển sang "WWF-NO" đòng đó báo lỗi" sẽ không có ý nghĩa).
Ngoài ra tôi không hiểu ở câu: "nếu cột C sheet Grants ="NEW", dữ liệu chuyển sang "WWF-NO" đòng đó báo lỗi" bạn thực sự muốn nói gì? --> Mình giải thích lại nhé : nếu cột C sheet Grants ="NEW", dữ liệu kết xuất từ sheet C2G sang nếu là "WWF-NO", khồng lấy dữ liệu mà tại dòng đó hiện chữ "Lỗi"
Cảm ơn bạn
 

File đính kèm

  • C2G Data Base_GRANTS _HP.xlsm
    255.7 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
"tìm cột A sheet C2G ứng với cột AC của sheet Grants bạn nhé" => Cột AC của Grants trong file ở bài #1 trống không thì khớp sao được với cột A của C2G mà tìm?
 
Upvote 0
Tôi xóa hết các giá trị #N/A. Bấm nút để chạy code GPE. Do dữ liệu lôm côm lười kiểm tra lại nên đúng sai hên xui.
 

File đính kèm

  • C2G Data Base_GRANTS _HP_hienmax.xlsm
    817 KB · Đọc: 10
Upvote 0
Cảm ơn bạn rất nhiều, bạn có thể giúp thêm : dữ liệu sheet Grants sau khi được copy sang dữ liệu được chứa đủ trong 1 ô (Wrap Text) không tràn sang các ô bên cạnh với nhé.
Xin lỗi bạn khi gửi file lần đầu mình không ghi chú rõ. Nếu được nhờ bạn dành thời gian giúp thêm mình chi tiết như mình ghi trong file đính kèm nha.
Chân thành cảm ơn
Bài đã được tự động gộp:


Cảm ơn bạn
Tôi không hiểu bạn trình bày là như thế nào. có thể là tuổi tác đã ảnh hưởng rồi chăng?
Tôi thì diễn giải nôm na thế này: code sẽ duyệt từng dòng của Sh Grants (Cột AC) và kiểm tra với Các dòng (cột A/Sheet (C2G)) nếu trùng thì Lấy dữ liệu các ô tương ứng của sh C2G (theo chỉ số trong Sh (nhờ hỗ trợ) ) để điền vào các ô tương ứng của Sh Grants. Nếu có ID của ShC2G không trùng với ID của ShGrants thì thêm vào...
Tất nhiên là code sử dụng Array và Dic nên chạy cũng tạm được.
Tôi khuyên bạn nếu dữ liệu nhiều thì nên hạn chế dùng công thức sẽ nặng file

Nếu bạn chịu chấp nhận là sh GRANTS sẽ bị xóa sạch các công thức ở các ô thì dùng tạm code sau (trong file đính kèm)
 

File đính kèm

  • C2G Data Base_GRANTS _HP.xlsm
    257.8 KB · Đọc: 19
Upvote 0
Tôi xóa hết các giá trị #N/A. Bấm nút để chạy code GPE. Do dữ liệu lôm côm lười kiểm tra lại nên đúng sai

Tôi không hiểu bạn trình bày là như thế nào. có thể là tuổi tác đã ảnh hưởng rồi chăng?
Tôi thì diễn giải nôm na thế này: code sẽ duyệt từng dòng của Sh Grants (Cột AC) và kiểm tra với Các dòng (cột A/Sheet (C2G)) nếu trùng thì Lấy dữ liệu các ô tương ứng của sh C2G (theo chỉ số trong Sh (nhờ hỗ trợ) ) để điền vào các ô tương ứng của Sh Grants. Nếu có ID của ShC2G không trùng với ID của ShGrants thì thêm vào...
Tất nhiên là code sử dụng Array và Dic nên chạy cũng tạm được.
Tôi khuyên bạn nếu dữ liệu nhiều thì nên hạn chế dùng công thức sẽ nặng file

Nếu bạn chịu chấp nhận là sh GRANTS sẽ bị xóa sạch các công thức ở các ô thì dùng tạm code sau (trong file đính kèm)
Đúng là tôi gần U50 và không có chuyên môn nên trình bày khó hiểu. Cảm ơn bạn cho lời khuyên và dành thời gian hỗ trợ tôi.
Bài đã được tự động gộp:

Tôi xóa hết các giá trị #N/A. Bấm nút để chạy code GPE. Do dữ liệu lôm côm lười kiểm tra lại nên đúng sai hên xui.
Cảm ơn bạn nhiều nhé
 
Upvote 0
Đúng là tôi gần U50 và không có chuyên môn nên trình bày khó hiểu.
Bạn không hiểu ý tôi rồi. Tôi ý nói là tuổi tác của tôi có thể đã quá nhiều để không hiểu được ý định của bạn, chứ không phải tôi nói tuổi tác của bạn. Bạn mới gần 50, đây là độ tuổi chín muồi của mỗi con người. Rất, rất nhiều vĩ nhân đều đã có những công trình, phát minh khoa học hay sự nghiệp nở rộ nhất ở tuổi gần 40 này đấy. Nếu tôi không lầm thì đó là những Bác Giáp, Bác Nguyễn Chí Thanh, Naponeon, Mary Quyry,.....
Còn về tuổi của tôi thì mới có gần U60 thôi.
 
Upvote 0
Bạn không hiểu ý tôi rồi. Tôi ý nói là tuổi tác của tôi có thể đã quá nhiều để không hiểu được ý định của bạn, chứ không phải tôi nói tuổi tác của bạn. Bạn mới gần 50, đây là độ tuổi chín muồi của mỗi con người. Rất, rất nhiều vĩ nhân đều đã có những công trình, phát minh khoa học hay sự nghiệp nở rộ nhất ở tuổi gần 40 này đấy. Nếu tôi không lầm thì đó là những Bác Giáp, Bác Nguyễn Chí Thanh, Naponeon, Mary Quyry,.....
Còn về tuổi của tôi thì mới có gần U60 thôi.
U60 là under 60 (tức dưới 60 tuổi) chứ làm gì có cụm từ gần U60?
 
Upvote 0
Cảm ơn anh đã xem bài. Tôi thì lại nghĩ là U60 là Unit 60.
Thuật ngữ Uxx đó xuất phát từ bóng đá quốc tế để chỉ 1 lứa cầu thủ giới hạn tối đa là xx tuổi. Như bóng đá Olympic là U23. Sau này nhiều người nhầm lẫn U50 là trên 50 trong khi phải là dưới 50 kia. Nếu muốn viết năm mươi mấy tuổi thì viết 5x thôi.
 
Upvote 0
Thuật ngữ Uxx đó xuất phát từ bóng đá quốc tế để chỉ 1 lứa cầu thủ giới hạn tối đa là xx tuổi. Như bóng đá Olympic là U23. Sau này nhiều người nhầm lẫn U50 là trên 50 trong khi phải là dưới 50 kia. Nếu muốn viết năm mươi mấy tuổi thì viết 5x thôi.
Thế vậy tôi mới viết là gần U60, có nghĩa là đã gần tới 60 tuổi rồi mà.
 
Upvote 0
Thế vậy tôi mới viết là gần U60, có nghĩa là đã gần tới 60 tuổi rồi mà.
Vậy thì chỉ viết là U60 thôi.
Chuyện có thật: đã có 1 cái băng rôn ghi "giải cầu lông lứa tuổi U40 trở lên". Chuyện như đùa vậy đó.
 
Upvote 0
Web KT

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

Back
Top Bottom