Hỗ trợ: Code VBA viết trong Excel 2010 Pro, khi thực thi trên Excel LTSC 2021 thì có 1 lỗi

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

trinhduyvu

Thành viên mới
Tham gia
11/10/22
Bài viết
12
Được thích
2
Tôi có viết 1 đoạn mã sau để xoá dữ liệu:

Mã:
Option Explicit
Sub XoaData()
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
  For i = 2 To 16
  Sheets(i).Range("D4:AA34").ClearContents
  Next i
  For j = 17 To 19
  Sheets(j).Range("B7:K670").ClearContents
  Next j
    With Sheets("TH-TX2")
    .Unprotect ("Q")
    .Range("$A$10:$AD$10").AutoFilter 1
    .Protect ("Q"), AllowFiltering:=True, _
    AllowFormattingColumns:=True, AllowFormattingRows:=True
    .Range("AH11:AH26,AJ11:AX14,AJ16:AX20,AJ22:AX24").ClearContents
    End With
    With Sheets("TH-BQN")
    .Unprotect ("Q")
    .Range("$A$10:$N$10").AutoFilter 1
    .Protect ("Q"), AllowFiltering:=True, _
    AllowFormattingColumns:=True, AllowFormattingRows:=True
    .Range("P11:P26,R11:W26").ClearContents
    End With
Sheets("MENU").Range("O2").ClearContents
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Tôi có tạo một Button để thực thi đoạn mã này.
Đoạn mã này nếu chạy trực tiếp từ cửa sổ Alt+F8 thì không có gì khác biệt ở hai phiên bản Excel.
Tuy nhiện, nếu chạy đoạn mã này bằng Button (assign marco) trên bản LTSC 2021 thì khi kết thúc mã lại bị chuyển đến Sheets("TH-TX2").
Tôi không hiểu vị sao lại xuất hiện lỗi này khi chạy mã trên bản LTST 2021. Nhờ mọi người xem có thể giải thích giúp tôi với ạ!
 

File đính kèm

  • Book1.xlsm
    41.1 KB · Đọc: 9
Code bạn sửa chạy đúng như ý tôi rồi. Rất cảm ơn bạn đã hỗ trợ.
Vậy lỗi code là do lệnh Protect của tôi. Bạn có thể giải thích thêm giúp tôi vì sao lệnh đó lỗi được không, phải sử dụng private sub thì protect mới không lỗi.
Tôi sửa đoạn code giữa lại như này thì đã chạy bình thường.
Mã:
    With Sheets("TH-TX2")
    .Protect Password:="Q", UserInterfaceOnly:=True, AllowFiltering:=True, _
    AllowFormattingColumns:=True, AllowFormattingRows:=True
    .Range("$A$10:$AD$10").AutoFilter 1
    .Range("AH11:AH26,AJ11:AX14,AJ16:AX20,AJ22:AX24").ClearContents
    End With
    With Sheets("TH-BQN")
    .Protect Password:="Q", UserInterfaceOnly:=True, AllowFiltering:=True, _
    AllowFormattingColumns:=True, AllowFormattingRows:=True
    .Range("$A$10:$N$10").AutoFilter 1
    .Range("P11:P26,R11:W26").ClearContents
    End With
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom