我已编写代码来比较2个巨大的Excel文件中包含的数据,并且在运行比较代码时遇到了“运行时错误”' 91' - 对象变量或未设置块变量"。有谁知道我的错误是什么?请参阅以下代码图片:
运行时错误91:
答案 0 :(得分:1)
Range("A1").Select
Selection.AutoFilter
ActiveWorkbook.WorkSheets("Old Data").AutoFilter.Sort.SortFields.Clear
没有参数的 Selection.AutoFilter
只是一个切换。 Read More on MSDN
您收到错误的原因是您在运行宏之前没有清除过滤器。由于您没有清除它,因此.AutoFilter
实际上关闭了过滤器。如果没有AutoFilter
,则Sort.SortFields
没有.Clear
,
解决方案:在开始调用所有AutoFilterMode
切换之前,请确保已关闭工作表.AutoFilter
。
ActiveWorkbook.WorkSheets("Old Data").AutoFilterMode = False
Range("A1").Select
Selection.AutoFilter
ActiveWorkbook.WorkSheets("Old Data").AutoFilter.Sort.SortFields.Clear