gpt4 book ai didi

vba - excel:高级过滤器中运行时错误 1004

转载 作者:行者123 更新时间:2023-12-03 03:34:11 26 4
gpt4 key购买 nike

我有这张表,我在其中应用了一系列潜艇来获得我想要的东西。最后一个是高级过滤器。

您可以在下面看到我的主表:

enter image description here

我的标准是C31:K32,结果应该从第38行粘贴。它从名为AUX的工作表中获取信息:

enter image description here完整代码如下:

Sub FiltroAloc()

Dim i As Long
Dim j As Long
Dim Lastrow As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim res

Set ws1 = Sheets("CONSULTA")
Set ws2 = Sheets("BASE_TOTAL_ATUAL")
Set ws3 = Sheets("AUX")



For i = 1 To 100
For j = 1 To 11
If ((ws1.Cells(29, 5).Value < ws2.Cells(i, 7).Value) And (ws1.Cells(29, 6).Value > ws2.Cells(i, 7).Value)) Or ((ws1.Cells(29, 5).Value < ws2.Cells(i, 8).Value) And (ws1.Cells(29, 6).Value > ws2.Cells(i, 8).Value)) Then
ws3.Cells(i, j) = ws2.Cells(i, j).Value
ElseIf (ws1.Cells(29, 5) = "") And (ws1.Cells(29, 6) = "") Then
ws3.Cells(i, j) = ws2.Cells(i, j).Value
End If
Next j
Next i

Call Esvaziar

End Sub

Sub Esvaziar()

Dim r As Range, rows As Long, i As Long
Dim ws As Worksheet

Set ws = Sheets("AUX")
Set r = ws.Range("A1:K450")

rows = r.rows.Count

For i = rows To 1 Step (-1)
If WorksheetFunction.CountA(r.rows(i)) = 0 Then
r.rows(i).Delete

End If
Next

Call AutoFilter

End Sub

我的所有代码都运行良好!之后,我开始将高级过滤器记录为具有自动过滤器名称的宏。

当我完成记录时,它工作正常并加载所有信息,因为我在记录时没有按照我的标准进行任何操作。

问题是当我按下“Filtrar”按钮时。它给了我

Run-time error '1004' - Method 'Range' of object'_Global' failed

这就是代码:

Sub AutoFilter()
'
' AutoFilter Macro
'

'
Sheets("AUX").Range("A1:K176").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:="CONSULTA!Criteria", CopyToRange:=Range("CONSULTA!Extract") _
, Unique:=False
ActiveWindow.SmallScroll Down:=-21
Range("G3").Select
End Sub

突出显示的部分:

Sheets("AUX").Range("A1:K176").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:="CONSULTA!Criteria", CopyToRange:=Range("CONSULTA!Extract") _
, Unique:=False

我尝试了很多东西,但我想我错过了一些东西。我不知道在哪里可以找到我的范围问题...任何建议将不胜感激。

最佳答案

尝试使用 CriteriaRange:=worksheets("CONSULTA").Range("Criteria")CopyToRange:=worksheets("CONSULTA").Range("Extract")

Sheets("AUX").Range("A1:K176").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=worksheets("CONSULTA").Range("Criteria"), _
CopyToRange:=worksheets("CONSULTA").Range("Extract"), Unique:=False

关于vba - excel:高级过滤器中运行时错误 1004,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44529532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com