Làm cách nào ẩn các hàm trong cột

Bui Phong

Yêu THVBA
Em muốn 1 đoạn code BVA để ẩn các hàm trong một số cột (ví dụ cột Mã Xe) để tránh trường hợp bị xóa nhầm thì dữ liệu vẫn chạy
Em cám ơn ạ!
STT​
Mã Xe​
Biển số​
Ghi chú​
 
Dựa vào mô tả trên của bạn, không rõ ý tưởng của bạn lắm.
Nếu bạn muốn minh họa hình ảnh vào bài viết, bạn hãy tham khảo .
Trong Excel mình chưa nghe nói tới ẩn Cells, hay ẩn hàm.
Bạn chỉ có thể ẩn cột hoặc ẩn dòng.
Ví dụ :
Mã:
Sub vidu()

    Rows(5).EntireRow.Hidden = True 'An dong 5: True. Hien dong 5: False
    Columns(2).EntireColumn.Hidden = True 'An cot B: True, Hien cot B: False
End Sub
 

Bui Phong

Yêu THVBA
Dựa vào mô tả trên của bạn, không rõ ý tưởng của bạn lắm.
Nếu bạn muốn minh họa hình ảnh vào bài viết, bạn hãy tham khảo .
Trong Excel mình chưa nghe nói tới ẩn Cells, hay ẩn hàm.
Bạn chỉ có thể ẩn cột hoặc ẩn dòng.
Ví dụ :
Mã:
Sub vidu()

    Rows(5).EntireRow.Hidden = True 'An dong 5: True. Hien dong 5: False
    Columns(2).EntireColumn.Hidden = True 'An cot B: True, Hien cot B: False
End Sub
Ý của mình: Mình đã tạo được 1 file Quản lý bán hàng trong đó sheet "Hóa đơn" chứa các lệnh tính tổng kéo sẵn từ dòng đầu đến cuối. Nếu dùng giải pháp khóa ô hoặc cột thì nội dung hóa đơn vừa xuất nó lưu sang sheet Quản lý hàng đã bán nó báo lỗi. Vấn đề mình cần hiện tại là viết code BVA để nếu người bán có trót xóa các hàm trong sheet Hóa đơn thì dữ liệu trong các ô nó vẫn tính toán bình thường và lưu về sheet Quản lý.
 
Chào bạn.
Trăm lời nói không bằng một cái hình minh họa.
Bạn nên sử dụng hình minh họa thì dễ hiểu hơn.
Ngoài ra nếu có thể, hãy cung cấp file demo. Upload file demo lên mediafire rồi kéo link về đây.
Hoặc upload lên google driver chú ý nên nén file .rar và hãy để chế độ public.
 

Bui Phong

Yêu THVBA
Chào bạn.
Trăm lời nói không bằng một cái hình minh họa.
Bạn nên sử dụng hình minh họa thì dễ hiểu hơn.
Ngoài ra nếu có thể, hãy cung cấp file demo. Upload file demo lên mediafire rồi kéo link về đây.
Hoặc upload lên google driver chú ý nên nén file .rar và hãy để chế độ public.
Đây bạn nhé:
1 - Mình muốn đoạn code để nếu nhân viên xóa nhầm công thức trong khu vực màu vàng (Sheet PhieuXuat) thì khi nhập dữ liệu nó vẫn chạy hàm bình thường.
2 - Một đoạn code để bảo vệ dữ liệu tại sheet THPX (tránh bị xóa)
Cám ơn bạn!
 
@Bui Phong Bạn hãy kiểm tra xem cái file của bạn đã share quyền truy cập cho mọi người chưa.
Muốn giúp mà cứ nhỏ giọt thông tin thế này. Chắc chơi cho khỏe
 

Euler

Administrator
Thành viên BQT
@Binana lưu ý từ ngữ khi sử dụng với thành viên mới tham gia diễn đàn. Họ có nhiều cái chưa biết, cần ân cần chỉ bảo.
@Bui Phong : Bạn chia sẻ file với chế độ public nhé. Xem hướng dẫn .
 

Bui Phong

Yêu THVBA
@Bui Phong Bạn hãy kiểm tra xem cái file của bạn đã share quyền truy cập cho mọi người chưa.
Muốn giúp mà cứ nhỏ giọt thông tin thế này. Chắc chơi cho khỏe
Bạn xem được chưa ạ. Mình không để ý khi copy link. Thành thật xin lỗi mọi người!
 
Nếu không tóm tắt thông tin bằng hình ảnh thì không ai muốn làm đâu. Bạn nên rút kinh nghiệm về việc này.
Dựa trên thông tin bạn đưa, tôi tóm tắt như sau:
File của bạn có các sheet sau:
Bạn cần đăng nhập để thấy hình ảnh

Các nơi tô vàng là nơi có công thức hoặt cột nơi đó có công thức.
Bạn cần đăng nhập để thấy hình ảnh


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


Chú ý, sheet PhieuXuat, ở ô H1 tôi thấy bạn tô vàng nhưng ở đây không có công thức nào. Xin hãy làm rõ (yêu cầu 1).

Về yêu cầu của bạn, ẩn các hàm (công thức) mà bạn đang sử dụng trên bảng tính Excel, việc này là không khả thi. Theo như tôi biết thì Excel không thể ẩn được công thức.


1 - Mình muốn đoạn code để nếu nhân viên xóa nhầm công thức trong khu vực màu vàng (Sheet PhieuXuat) thì khi nhập dữ liệu nó vẫn chạy hàm bình thường.
Nhân viên xóa nhầm công thức ở sheet nào, ô nào-cần nói rõ kịch bản? Ở toàn bộ những nơi mà bạn tô vàng? (yêu cầu 2)
 

Bui Phong

Yêu THVBA
Nếu không tóm tắt thông tin bằng hình ảnh thì không ai muốn làm đâu. Bạn nên rút kinh nghiệm về việc này.
Dựa trên thông tin bạn đưa, tôi tóm tắt như sau:
File của bạn có các sheet sau:
Bạn cần đăng nhập để thấy hình ảnh

Các nơi tô vàng là nơi có công thức hoặt cột nơi đó có công thức.
Bạn cần đăng nhập để thấy hình ảnh


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


Chú ý, sheet PhieuXuat, ở ô H1 tôi thấy bạn tô vàng nhưng ở đây không có công thức nào. Xin hãy làm rõ (yêu cầu 1).

Về yêu cầu của bạn, ẩn các hàm (công thức) mà bạn đang sử dụng trên bảng tính Excel, việc này là không khả thi. Theo như tôi biết thì Excel không thể ẩn được công thức.



Nhân viên xóa nhầm công thức ở sheet nào, ô nào-cần nói rõ kịch bản? Ở toàn bộ những nơi mà bạn tô vàng? (yêu cầu 2)
Cám ơn bạn! Đây là nội dung mình muốn xử lý
 
Bạn có thể khóa một vùng Range, không có người dùng tùy ý tác động vào đó, qua đó sẽ bảo vệ được các công thức bạn đang sử dụng. Bạn tham khảo topic này:
 

phuonghong1997

Yêu THVBA như điếu đổ
Yêu cầu này có ba hướng giải quyết:
Một, khóa vùng Range, là những nơi đã được ghi sẵn công thức từ trước đó. Đây là cách phổ biến. Bạn ở trên cũng đã đưa đường link topic giới thiệu rồi.
Hai là, tạo một thủ tục. Người dùng cần click để chạy thủ tục này. Thủ tục này sẽ ghi toàn bộ các công thức lên những nơi cần. Việc này thì dễ rồi.
Đơn giản nhất bạn có thể tự làm được đó là record macro rồi tự suy ra code.
Gán đoạn code này vào một thủ tục, click nút bấm thì gọi thủ tục này ra làm việc. Hoặc gán đoạn code này vào bên trên các thủ tục mà bạn đang có, ở những nơi mà bạn tự đánh giá là cần thiết.
Ba là cách bạn đang làm, sử dụng sự kiện select change. Mỗi lần người dùng tác động vào cells tô vàng của bạn thì sự kiện này thực thi việc ghi code. Tôi không nghĩ đây là giải pháp tốt. Nếu tốt thì chắc bạn đã không lên đây hỏi.
 
Mình có gợi ý 1 ý tưởng như này. Bạn tạo 1 sheet nhập liêu. Nhập các thông tin cần thiết vào. Sau đó nó sẽ xuất tới sheets Phiếu Xuất. Coi như là giảm thiểu được việc sheet phiếu xuất sẽ bị sửa đổi thông tin hay công thức gì đó
 
T

thuthuy2000

Guest
@Binana :Trên sheet nhập liệu nếu sử dụng công thức và người dùng nhỡ tay xóa công thức thì lại quay về #1.
 
@thuthuy2000
Tại thấy bạn ấy viết được code rồi. Trên sheet nhập liệu chẳng hạn chỉ nhập những dữ liệu chết.Người lập. Ngày thuê, ngày trả, mã xe thì chuyển dữ liệu qua sheet phiếu cũng được mà anh
 
T

thuthuy2000

Guest
À vâng anh. Nếu xử lý trực tiếp thì đơn giản là tạo một thủ tục xuất trực tiếp ra data cần, không cần công thức nào.
Nhưng chủ topic có yêu cầu thế đâu anh. Tự bạn ấy quyết định giải pháp và sau đó hỏi mọi người để đi con đường ấy (ẩn công thức) thì đi như thế nào mà. Chúng ta tôn trọng tác giả thôi anh à.
Nếu xử lý trực tiếp thì lại quay về #1 và chủ topic phải bổ sung thông tin:
logic là gì, input là gì, output muốn như thế nào. code cho nút bấm nào.
 
Top