Nếu tôi chạy macro sau trên máy trạm của tôi, nó hoạt động:
Set compListDict = CreateObject("Scripting.Dictionary")
compListDict.Add 1, "Test"
Dim test As Integer
test = compListDict.Count
compListDict.RemoveAll
Set compListDict = Nothing
Set compListDict = CreateObject("Scripting.Dictionary")
Dim test1 As Integer
test1 = compListDict.Count
Sau khi chạy nó, test1 bằng 0, và thử nghiệm bằng 1.
Đảm bảo bạn có Option Explicit được kích hoạt, và bạn không có bất kỳ lỗi chính tả nào trong các tên biến của bạn.
Ngoài ra, hãy đảm bảo bạn không có tuyên bố "Tiếp tục lỗi khi tiếp tục" vì nó sẽ ẩn các lỗi trong mã của bạn. Thử đặt "Lỗi trên Goto 0" trước đoạn mã của bạn để Excel hiển thị bất kỳ thông báo lỗi nào.
Vì bạn đang đặt giá trị biến thành Không có gì và gán cho nó một đối tượng từ điển mới, nên không thể giữ lại giá trị được lưu trữ trước.
Tôi cũng đã cố gắng chạy đoạn mã sau, và nó cũng cho kết quả tương tự:
Set compListDict = CreateObject("Scripting.Dictionary")
compListDict.Add 1, "Test"
Dim test As Integer
test = compListDict.Count
compListDict.RemoveAll
Dim test1 As Integer
test1 = compListDict.Count
Hy vọng rằng sẽ giúp ...
Nguồn
2012-03-23 09:34:13
Hmmm thú vị. Bạn có thể tái tạo nó hay nó là một điều ngẫu nhiên? –
@SiddharthRout Xem chỉnh sửa của tôi. – assylias
Cảm ơn sẽ nhìn vào nó ngày hôm nay :) Và nếu tôi có thể tái sản xuất nó sau đó tôi sẽ tập tin lỗi này với MS hôm nay :) –