Đã done - Nhờ Mod khóa topic này giúp mình ạ - Xóa các vùng dữ liệu trong 1 sheet bằng VBA

Liên hệ QC
Status
Không mở trả lời sau này.

hoanglongbvhb

Thành viên mới
Tham gia
25/5/20
Bài viết
3
Được thích
0
Do tính chất công việc nên e có tự mày mò làm 1 file excel có tính năng nhập/lưu dữ liệu và xóa dữ liệu.
Em đã làm xong phần nhập dữ liệu tuy nhiên đến khi code lệnh XÓA thì bị báo lỗi ở dòng có lệnh "Clearcontents".
Mục đích khi bấm nút "XÓA" thì hiện lên hộp thông báo, khi chọn "YES" thì sẽ thực hiện 2 lệnh sau:
- Xóa dữ liệu các ô có màu xanh lá.
- Và muốn đặt các ô có màu vàng cam thành FALSE.
Các ô còn lại e đã format cell ở chế độ loked.
Em không hiểu lỗi vì sao và làm thế nào để khắc phục lỗi này.
Xin được nhận sự chỉ giúp của các bác trên đây ạ.
Nếu được xin các bác code giùm e đoạn mã XÓA với ạ.
Em có gửi kèm file lên đây để các bác dễ hiểu hơn ạ.
Em cảm ơn rất nhiều.
 

File đính kèm

  • Ô TÔ 2020.xlsb
    110.8 KB · Đọc: 16
Do tính chất công việc nên e có tự mày mò làm 1 file excel có tính năng nhập/lưu dữ liệu và xóa dữ liệu.
Em đã làm xong phần nhập dữ liệu tuy nhiên đến khi code lệnh XÓA thì bị báo lỗi ở dòng có lệnh "Clearcontents".
Mục đích khi bấm nút "XÓA" thì hiện lên hộp thông báo, khi chọn "YES" thì sẽ thực hiện 2 lệnh sau:
- Xóa dữ liệu các ô có màu xanh lá.
- Và muốn đặt các ô có màu vàng cam thành FALSE.
Các ô còn lại e đã format cell ở chế độ loked.
Em không hiểu lỗi vì sao và làm thế nào để khắc phục lỗi này.
Xin được nhận sự chỉ giúp của các bác trên đây ạ.
Nếu được xin các bác code giùm e đoạn mã XÓA với ạ.
Em có gửi kèm file lên đây để các bác dễ hiểu hơn ạ.
Em cảm ơn rất nhiều.


Ý bạn là như này hả
 

File đính kèm

  • Ô TÔ 2020 (1).xlsm
    185.5 KB · Đọc: 19
Upvote 0
Do tính chất công việc nên e có tự mày mò làm 1 file excel có tính năng nhập/lưu dữ liệu và xóa dữ liệu.
Em đã làm xong phần nhập dữ liệu tuy nhiên đến khi code lệnh XÓA thì bị báo lỗi ở dòng có lệnh "Clearcontents".
Mục đích khi bấm nút "XÓA" thì hiện lên hộp thông báo, khi chọn "YES" thì sẽ thực hiện 2 lệnh sau:
- Xóa dữ liệu các ô có màu xanh lá.
- Và muốn đặt các ô có màu vàng cam thành FALSE.
Các ô còn lại e đã format cell ở chế độ loked.
Em không hiểu lỗi vì sao và làm thế nào để khắc phục lỗi này.
Xin được nhận sự chỉ giúp của các bác trên đây ạ.
Nếu được xin các bác code giùm e đoạn mã XÓA với ạ.
Em có gửi kèm file lên đây để các bác dễ hiểu hơn ạ.
Em cảm ơn rất nhiều.
Trước tiên bạn bỏ chế độ Merge các ô đi rồi thử sửa lại code như sau xem đúng ý chưa

Sub Xoa_DLieu()
Dim giatrimsg As Integer

giatrimsg = MsgBox("BAN MUON XOA THONG TIN XE O TO", vbInformation + vbYesNo, "Hoanglongbvhb")
If (giatrimsg = vbNo) Then
Exit Sub
End If
Range("D4,D5,I5,E8,AC8,E9,I9,M9,AC9,C10,AC10,E11,I11,AC11,E12,I12,E13,AC13,C14,E17,E18,E19,E20,E21,K17,K18,K19,K20,K21,K22,N20,C28,H28,L28,C30,H30,C32,H32,L32,AC33,AC34,AD36,C35,D44,F44,G44,K44,E45,E47,J47,O47,C48,N50").Select
Selection.ClearContents
Range("D4").Select
End Sub
 
Upvote 0
Cám ơn bác rất nhiều ạ.
Sao e không nghĩ ra cái đấy chứ nhỉ cứ chăm chăm đi cờ lia :))
Bài đã được tự động gộp:

Trước tiên bạn bỏ chế độ Merge các ô đi rồi thử sửa lại code như sau xem đúng ý chưa

Sub Xoa_DLieu()
Dim giatrimsg As Integer

giatrimsg = MsgBox("BAN MUON XOA THONG TIN XE O TO", vbInformation + vbYesNo, "Hoanglongbvhb")
If (giatrimsg = vbNo) Then
Exit Sub
End If
Range("D4,D5,I5,E8,AC8,E9,I9,M9,AC9,C10,AC10,E11,I11,AC11,E12,I12,E13,AC13,C14,E17,E18,E19,E20,E21,K17,K18,K19,K20,K21,K22,N20,C28,H28,L28,C30,H30,C32,H32,L32,AC33,AC34,AD36,C35,D44,F44,G44,K44,E45,E47,J47,O47,C48,N50").Select
Selection.ClearContents
Range("D4").Select
End Sub

Nếu bỏ Merge đi thì sẽ ảnh hưởng đến việc nhập dữ liệu bác ạ.
Nhờ có bác Exga nên Em đã làm được rồi.
Cám ơn các bác rất nhiều ạ!!!
 
Upvote 0
Kiểu lị lầy lái vô bát khi húp xong cháo lây mà!
$$$$@
 
Upvote 0
Người ta chỉ nhờ khóa thôi chứ có nhờ xóa đâu bác.
 
Upvote 0
Cám ơn bác rất nhiều ạ.
Sao e không nghĩ ra cái đấy chứ nhỉ cứ chăm chăm đi cờ lia :))
Bài đã được tự động gộp:



Nếu bỏ Merge đi thì sẽ ảnh hưởng đến việc nhập dữ liệu bác ạ.
Nhờ có bác Exga nên Em đã làm được rồi.
Cám ơn các bác rất nhiều ạ!!!
Tại sao phải khóa Topic khi còn một số thành viên mới học VBA cần tham khảo và hỏi code.
Người ta chỉ nhờ khóa thôi chứ có nhờ xóa đâu bác.
Khóa Topic thì các thành viên khác cần hỏi thì làm sao hỏi được.
 
Lần chỉnh sửa cuối:
Upvote 0
Có thể chủ topic quen phong cách ở diễn đàn khác, topic sẽ khóa khi vấn đề được giải quyết, người khác cần hỏi thì tạo topic mới. Tuy không phù hợp với phong cách của GPE nhưng cũng không đến mức nặng nề như trên.
 
Upvote 0
Có thể chủ topic quen phong cách ở diễn đàn khác, topic sẽ khóa khi vấn đề được giải quyết, người khác cần hỏi thì tạo topic mới. Tuy không phù hợp với phong cách của GPE nhưng cũng không đến mức nặng nề như trên.
Theo chỗ tôi biết thì diễn đàn khác tự động khoá khi chủ thớt chấp nhận đã có câu trả lời.
Chứ chuyện thớt yêu cầu khoá thì tôi chưa hề thấy.
 
Upvote 0
Topic này mình hỏi về xóa dữ liệu với lệnh (clearcontents) thì đã có cách giải quyết rồi:
+ Không thể clearcontents với các vùng có định dạng Merge.
+ Thay bằng câu lệnh khác rất đơn giản là (= "")
Mình đấy vấn đề đã được giải quyết nên nghĩ là đóng lại để tài nguyên diễn đàn cho người khác thôi chứ chẳng nghĩ nhiều như các bạn.
Đây là phép lịch sự, có thể không phù hợp với tác phong của các bác thì nói nhẹ nhàng là được.
Vậy mà có người vào đây bảo mình rút cầu với cả đái vào bát được o_O
 
Upvote 0
Tôi khóa topic này vì e rằng mọi người đi quá xa.

Khác biệt văn hóa thôi.

Không yêu thì không nói lời cay đắng nhé mọi người.

Thân
OverAC
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom