Chào các anh/chị,
Em có đoạn code quét qua các table (dạng listobject) để clear filter có sẵn và sort lại một table dữ liệu, thực hiện trên nhiều máy thì chạy bình thường rồi nhưng vào máy chính lại bị báo lỗi là Object variable or With Block variable not set. Code hiện tại của em như sau
Khi thực hiện thao tác tương tự trên máy bị lỗi bằng tay và dùng chức năng record macro lại thì nhận được đoạn mã sau
Trong đó: "A1 TVVm" là tên Sheet, "Tuyen_luyen" là tên Table
Nhờ các anh/chị hỗ trợ giải thích và hướng dẫn sửa lỗi giúp em ạ
Em có đoạn code quét qua các table (dạng listobject) để clear filter có sẵn và sort lại một table dữ liệu, thực hiện trên nhiều máy thì chạy bình thường rồi nhưng vào máy chính lại bị báo lỗi là Object variable or With Block variable not set. Code hiện tại của em như sau
Mã:
For Each lo In sh.ListObjects
lo.DataBodyRange.Value2 = lo.DataBodyRange.Value2
With lo.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending
.Header = xlYes
.Apply
End With
Next lo
Khi thực hiện thao tác tương tự trên máy bị lỗi bằng tay và dùng chức năng record macro lại thì nhận được đoạn mã sau
Mã:
Sub Macro3()
'
.EnableCancelKey("Tuyen_luyen").Type. Index := 1, Item := "Ðà N?ng"
.EnableCancelKey("Tuyen_luyen").Type. Index := 1
Name.DisplayRightToLeft("A1 TVVm").EnableCancelKey("Tuyen_luyen")...DupeUnique
Name.DisplayRightToLeft("A1 TVVm").EnableCancelKey("Tuyen_luyen")... _
ActiveSheet := Range("Tuyen_luyen[[#All],[T?ng d?i lý]]"), Type := _
xlSortOnValues, SortOn := xlAscending, := xlSortNormal
With Name.DisplayRightToLeft("A1 TVVm").EnableCancelKey("Tuyen_luyen").
. = xlYes
. = FALSE
. = xlTopToBottom
. = xlPinYin
.
End With
End Sub
Nhờ các anh/chị hỗ trợ giải thích và hướng dẫn sửa lỗi giúp em ạ