Chào các bạn, dạo này mình bị nghiện vba excel nên sẽ chia sẽ nhiều thủ thuật vba excel hay để các bạn tham khảo, và lần này cũng là một thủ thuật vba rất thú vị, đó là sao chép và dán giá trị toàn bộ sheet trong file excel.
Các bạn cứ hình dung như thế này, chúng ta có một file excel rất nhiều sheet, và trong các sheets đó có rất nhiều công thức...khi gửi file đi thì chúng ta muốn sao chép và dán lại toàn bộ thành giá trị, để gửi file đi cho nhẹ hay vì mục đích khác như không cho người khác biết công thức như thế nào :)
Các bạn có thể sao chép toàn bộ và dán giá trị ở từng sheet, nhưng nếu nhiều file và quá nhiều sheet thì làm thủ công như vậy rất mất thời gian, do vậy mình sẽ đưa ra giải pháp là dùng vba để làm điều đó
Đây là file mẫu, và có nhiều sheet, trong mỗi sheet đều có chứa công thức, bây giờ chúng ta sẽ copy sheet và dán value chính nó luôn
Các bạn vào Developer - Visual Basic hoặc nhấn phím tắt Alt + F11
Tạo một module mới bằng các vào Insert - Module
Sao chép và dán đoạn code sau vào khung soạn thảo, sau đó nhấn phím F5 hoặc icon tam giác màu xanh để chạy đoạn code
Ở đây chúng ta dùng vòng lặp For Each để duyệt qua từng sheet có trong Workbook, còn UsedRange chính là vùng ô đã được sử dụng ở trong sheet.
Như vậy là xong rồi, các bạn có thể vào sheet bất kỳ để kiểm tra xem các công thức đã được thay thế bằng giá trị chưa nhé
Chúc các bạn thành công