Nhờ code VBA để thay thế hàm vlookup giữa 2 file khác nhau

Mr.devjl

Yêu THVBA
Mình có 3 file danh sách sản phẩm, báo cáo xuất nhập tồn và kiểm tồn cần xử lý lọc dữ liệu lẫn nhau. Bình thường thì mình lọc bằng hàm vlookup, nhưng giờ vì mình có những công việc khác cần xử lý nên chuyển việc này cho người khác mà người này lại có tuổi rồi nên học mãi mà không biết sử dụng hàm để xử lý. Mà mình lại mù tịt về VBA nên lên đây nhờ các cao nhân giúp mình xử lý giúp mình. Vì 3 file này mỗi lần chạy từ phần mềm ra nó đều có tên khác nhau nên mình nhờ các bạn tạo cho mình 1 file dưới dạng nút ấn như file chương trình mình đã tạo để dễ dàng cho người có tuổi sử dụng. Chi tiết xử lý file như thế nào thì mình ghi ở dưới.

1 . Mình cần xử lý 2 file danh sách sản phẩm và báo cáo xuất nhập tồn như sau: Dựa theo mã hàng ở file danh sách sản phẩm là cột C còn file báo cáo là cột B mà đưa giá trị tương ứng ở cột “nhập chuyển”, “xuất bán”, “xuất chuyển” hay cột P, T, AB của file báo cáo vào cột AG, AH, AI ở file danh sách. Vì có những mã hàng ở file danh sách có mà file báo cáo không có nên mình muốn nó trả về kết quả tương ứng với những mã đó là 0 hoặc không có giá trị cũng được.

2 . Với file danh sách sản phẩm và kiểm tồn thì mình cần xử lý như sau vẫn dựa vào dữ liệu là mã hàng ở file kiểm tồn là cột A còn file danh sách sản phẩm là cột C mà đưa giá trị tương ứng ở cột “tên hàng”, “giá bán”, “tồn kho” hay cột E, G, I của file danh sách vào cột B, C, E của file kiểm tồn. Sau đó lấy giá trị ở cột D trừ đi giá trị ở cột E ra kết quả điền vào cột F. Vì đây là kiểm tồn nên sẽ có sản phẩm bị âm nên mình muốn giá trị trả ra có cả kết quả âm.
Đây là 3 file excel của mình:
Bạn cần đăng nhập để thấy hình ảnh

Bạn cần đăng nhập để thấy hình ảnh

Bạn cần đăng nhập để thấy hình ảnh
 
Sửa lần cuối:

Euler

Administrator
Thành viên BQT
Bạn nên sử dụng hình ảnh minh họa để giảm thiểu thời gian đọc hiểu cho người khác.
 
Cái này kiểu viết chường trình rồi. Mà bạn mô tả sơ sơ thế này. Thì chỉ có mình bạn hiểu thôi
 
Đã cố gắng đọc nhưng thực sự vẫn chưa hiểu lắm cách làm mà anh đang làm
 

tuhocvba

Administrator
Thành viên BQT
Nhận code với giá 2 triệu. Bao gồm: thời gian xác nhận nội dung yêu cầu + code.
 

Mr.devjl

Yêu THVBA
Đã cố gắng đọc nhưng thực sự vẫn chưa hiểu lắm cách làm mà anh đang làm
Đơn giản lắm bạn mình chỉ việc dùng hàm vlookup để lấy dữ liệu chính xác dựa trên mã hàng thôi. ở bảng danh sách hàng hóa nó có SL tồn mà mình cần thêm dữ kiện số lượng xuất và sl nhập phải lấy dữ liệu đó ở file báo cáo xuất nhập tồn. Bởi vì có 1 những mã hàng mà file này có mà file kia không có nên bắt buộc phải dùng vlookup để lấy thông tin chứ không copy paste được. Thật ra file mình xử lý dữ liệu nó cũng không có quá nhiều dữ liệu nên dùng vlookup cũng khá đơn giản nhưng giờ mình bận không làm được phải chuyển cho người khác làm nhưng mà người ta kém excel quá nên dạy mãi không làm đựoc nên mới kiếm có cách nào dùng vba thay thế không mà mình hoàn toàn mù tịt món này. Thật ra mình cũng không cần cái gì nó quá phức tạp mình chỉ cần tự động chạy được vlookup là được rồi chỉ có cái là mình chỉ cần chọn file xong là vlookup sẽ tự làm việc luôn chứ không phải làm từng bước nữa.
Bạn cần đăng nhập để thấy hình ảnh
 
Sửa lần cuối:
@Mr.devjl tại thấy anh có 3 file. Thế cái file Danhsachsanpham ấy chính là cái file kêt quả anh muốn rồi phải không?
Và cái file chương trình đó là anh muốn kích lần lượt từng nút thì nó làm những gì. anh hãy mô tả 1 chút được không?
 
Sửa lần cuối:

Mr.devjl

Yêu THVBA
@Mr.devjl tại thấy anh có 3 file. Thế cái file Danhsachsanpham ấy chính là cái file kêt quả anh muốn rồi phải không?
Và cái file chương trình đó là anh muốn kích lần lượt từng nút thì nó làm những gì. anh hãy mô tả 1 chút được không?
Mình muốn nó chạy như kiểu chuơng trình cho đơn giản hóa với người kém công nghệ ấy bạn. Tức là chỉ cần ấn nút 1 nút là chọn file danhsachsanpham, 1 nút để chọn file baocaoxuatnhapton xong 1 nút nữa để ấn vào kích hoạt cho chuơng trình chạy vì mỗi lần mình xuất dữ liệu từ chuơng trình quản lý bán hàng ra nó lại cho cái tên khác ấy. Còn 3 file thì 1 file kia nó là file nhân viên người ta dùng máy quét mã vạch để nhập số lượng hàng thực tế trên quầy tuy nhiên mình xử lý được cái đấy rồi nên không cần tới nữa.
 

qthinhweb

Yêu THVBA
Nhận code với giá 2 triệu. Bao gồm: thời gian xác nhận nội dung yêu cầu + code.
Vãi, bác lấy giá chát quá, mình thấy yêu cầu của bác thớt trên cũng đơn giản (chỉ có bác ấy diễn đạt dài dòng quá, thời gian ngồi viết lê thê thế này lên diễn đàn học rồi tự làm chắc xong rồi đấy 😅).
Thôi thì thế này, nếu bác @Mr.devjl thực sự cần và không có thời gian thì mình nhận với giá 2 trăm ngàn, làm đúng như những gì bác mô tả ở trên, ko làm thêm. Một trăm mình gởi diễn đàn, một trăm mình nốc cà phê (có cái động lực để làm thôi).
 

tuhocvba

Administrator
Thành viên BQT
Bro có thời gian thì code thôi.
Tạo một chương trình, thiết kế layout nút bấm, cảnh báo lỗi xảy ra. Xem xét các trường hợp có thể xảy ra và nội dung cảnh báo tương ứng. Chẳng phải là viết cho người già dùng hay sao? Mai mốt lỗi không biết lỗi ở đâu lại lên đây hỏi hả? Một chương trình hoàn thiện như vậy không dưới 10h.
Chưa kể thời gian tìm hiểu yêu cầu. Với cái yêu cầu viết ở đây, tôi cam đoan mọi người cần nhiều hơn 2h từ lúc bắt đầu tìm hiểu yêu cầu cho tới khi nghĩ rằng mình đã hiểu và có thể code được.

Vậy tổng thời gian không ít hơn 12h. Không biết bro code sản phẩm như nào và trong thời gian bao lâu. Code xong public cho mình tham khảo cái nhé.
 

qthinhweb

Yêu THVBA
Ôi, bác chuyên nghiệp quá, bác làm thế thì đúng giá rồi. Nếu mình làm thì mình chỉ định viết code rồi gán vào mấy cái mà bác kia vẽ sẵn thôi (đổi màu tí chứ màu đỏ trên màu xanh đau mắt quá). Còn cảnh báo lỗi thì mình chỉ cảnh báo chọn nhầm file và cảnh báo khi chưa chọn file mà đã nhấn nút chạy thôi. Mình cũng gà nên đòi hỏi thêm mình cũng chả làm đâu 😅
 

Mr.devjl

Yêu THVBA
Bro có thời gian thì code thôi.
Tạo một chương trình, thiết kế layout nút bấm, cảnh báo lỗi xảy ra. Xem xét các trường hợp có thể xảy ra và nội dung cảnh báo tương ứng. Chẳng phải là viết cho người già dùng hay sao? Mai mốt lỗi không biết lỗi ở đâu lại lên đây hỏi hả? Một chương trình hoàn thiện như vậy không dưới 10h.
Chưa kể thời gian tìm hiểu yêu cầu. Với cái yêu cầu viết ở đây, tôi cam đoan mọi người cần nhiều hơn 2h từ lúc bắt đầu tìm hiểu yêu cầu cho tới khi nghĩ rằng mình đã hiểu và có thể code được.

Vậy tổng thời gian không ít hơn 12h. Không biết bro code sản phẩm như nào và trong thời gian bao lâu. Code xong public cho mình tham khảo cái nhé.
Ôi, bác chuyên nghiệp quá, bác làm thế thì đúng giá rồi. Nếu mình làm thì mình chỉ định viết code rồi gán vào mấy cái mà bác kia vẽ sẵn thôi (đổi màu tí chứ màu đỏ trên màu xanh đau mắt quá). Còn cảnh báo lỗi thì mình chỉ cảnh báo chọn nhầm file và cảnh báo khi chưa chọn file mà đã nhấn nút chạy thôi. Mình cũng gà nên đòi hỏi thêm mình cũng chả làm đâu 😅
Vâng 2 bác thật ra yêu cầu e cũng đơn giản thôi chỉ cần tự chạy được vlookup là được chứ cũng ko cần cao cấp đâu, vì file của em dài nhất chỉ có hơn 12.000 dòng nhưng lọc xong lại xóa đi gần hết chỉ dùng 1 ít nên không sợ nặng. Chỉ có cái là e cũng không rành lắm về khoản trình bày nên mọi người thấy phức tạp. Bình thường e làm bằng vlookup chỉ mấy phút là xong, nhưng mấy bác già ở công ty em chỉ mãi mà vẫn không thông nên em mới phải đi kiếm cách hỗ trợ các bác ấy.
 

Euler

Administrator
Thành viên BQT
1. Cái mình không làm được thì đừng nên nói là đơn giản. Những gì tác giả topic đã trình bày là đúng.
Nhưng nội dung trình bày còn thiếu trực quan, nên người ta không muốn giúp.
Bạn cần đăng nhập để thấy hình ảnh

Bạn cần đăng nhập để thấy hình ảnh

Bạn cần đăng nhập để thấy hình ảnh


2. Một số người coi việc đi vào code chính là thước đo của sự thành công. Đối với tôi, nó chẳng khác nào một sản phẩm thô.
Từ sản phẩm thô tới sản phẩm hoàn thiện là một con đường rất xa. Trước khi đưa ra nhận xét chát hay chua hay ngọt, hãy xem các sản phẩm được hoàn thiện dưới bàn tay của các quản trị viên.
Cũng như ngoài cuộc sống, cùng là một cái điều hòa, do TQ làm thì giá khác, do Nhật làm thì giá khác.
 

vbano1

SMod
Thành viên BQT
chỉ cảnh báo chọn nhầm file
Để biết chọn nhầm file thì bạn và chủ topic phải có sự thống nhất.
Dựa vào tên file ?
Dựa vào tên sheet?
Dựa vào nội dung sheet? Bắt buộc phải có tên cột là bla bla...

Để đạt được sự thống nhất, một bên tổng hợp thông tin, một bên xác nhận là đúng/sai, đồng ý/không đồng ý...
Việc như vậy mất rất nhiều thời gian.

Với phong cách trình bày như trên, thì level làm việc của chủ topic còn rất hạn chế, e rằng mức lương cũng còn hạn chế. Đừng nói 2 triệu hay 200k. Ngay cả 50k cũng không có đâu.
 
Top