excel:高级filter中运行时错误1004
我有这张表,我申请了一系列的潜艇来得到我想要的东西。 最后一个是高级filter。
你可以看到我的主表如何:
我的标准是C31:K32 ,结果应该从第38行粘贴。它从该表中获取信息称为AUX :
完整的代码如下:
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
我所有的代码工作正常! 之后,我开始将我的高级filter录制为带有自动filter名称的macros。
当我完成logging时,它工作正常,并加载所有信息,因为我没有logging在我的标准。
问题是当我嘲笑我的“Filtrar”button。 它给了我
运行时错误“1004” – object'_Global的方法“范围”失败
这就是代码:
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
我尝试了很多东西,但我想我错过了一些东西。 我不知道在哪里find我的范围问题…任何build议将不胜感激。
用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