VBA收到错误“运行时错误1004帮助”

时间:2018-10-17 13:02:17

标签: excel vba office365

此代码可以看到任何错误吗?它已经运行了一段时间了,但是突然间我得到了

  

1004提取范围的字段名称缺失或无效

一直

。我不知道为什么。自上次以来,我已经对Excel进行了非常多的修改,因此有时会突然出现。

Sub FilterMe()
    Dim Num As Range
    Dim Dt As Worksheet, Ft As Worksheet


    Set Dt = Sheets("Data")
    Set Ft = Sheets("FilterData")
    Set Num = Sheets("FilterData").Range("G2")

    Dt.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Ft.Range("O5:R10" & Num), CopyToRange:=Ft.Range("B12:V12"), Unique:=False

 '   Application.Calculation = xlCalculationAutomatic
 '   Application.ScreenUpdating = True
End Sub

调试器在此行显示错误:

CriteriaRange:=Ft.Range("O5:R10" & Num), CopyToRange:=Ft.Range("B12:V12"), Unique:=False

我尝试将NumRange更改为Integer,更改为String,还有许多其他选择。但是出于某种原因,它不会接受。

2 个答案:

答案 0 :(得分:0)

我请您花时间帮助我。我发现了问题所在。

我通常导入CSV文件,该文件将转换为基于该程序构建的excel数据库。不知何故,我的CSV文件被损坏了,并且更改了导入,因此标头一次与Advanced过滤器不同,所以当先进的过滤器试图找到我的值,因此无法根据条件找到它们。

祝你一整天愉快,谢谢

答案 1 :(得分:-1)

英尺范围(“ O5:R10”&Num)是错误的用法。尝试以下代码:

  

Dt.Range(“ A1”)。CurrentRegion.AdvancedFilter操作:= xlFilterCopy,_       CriteriaRange:= Ft.Range(“ O5:R10,”&Num.Address),CopyToRange:= Ft.Range(“ B12:V12”),Unique:= False