VBA代码来search一个列并对其进行sorting

我正在编写一个VBA代码,必须在工作表上find一个特定的列并在特定的citeria上进行sorting。 这是我的代码

Sub SortExchangesEurope() Dim intCounter As Integer Dim rngExchange As Range intCounter = 1 Do While Worksheets("Sheet1").Cells(2, intCounter) <> "" If Worksheets("Sheet1").Cells(2, intCounter).Value = "Exchange" Then With Worksheets("Sheet1") Set rngExchange = .Range(.Cells(2, intCounter), .Cells(2, intCounter)) MsgBox intCounter End With End If intCounter = intCounter + 1 Loop Worksheets("Sheet1").Range("$A$2:$AP$778").AutoFilter Field:=intCounter, Criteria1:=Array( _ "XBEL", "XBUD", "XBSE", "XQMH", "XWAR", _ "BMEX", "XLIS", "XLIT", "XBUL", "ASEX", _ "XDUB", "XBRU", "XLUX", "XSTO", "XSWX", _ "XHEL", "XMOS", "MISX", "XCSE", "XVTX", _ "IEPA", "XMIL", "XLIS", "BMEX", _ "XLJU", "ASEX", "XRIS", "XBRA", "xlOn", _ "XOSL", "XPAR", "XPRA", "XICE", "XIST", _ "XTAL", "XMIL", "XTRN", "XBRU", "XLDN", _ "XAMS", "XZAG", "XSWX", "XATH", "XMAD", "XOME", _ "XMRV", "XADE", "XVTX", "XTAH", "RTSX", "XLTO", _ "XDMI", "MFOX", "XMAD", "XMAT", "XTLX", "ICEU", _ "XMON", "XTUR", "XBRD", "XEDX", "XOME", "XLIF"), Operator:=xlFilterValues End Sub 

第一部分查找名称所在的列,第二部分只查找具有给定代码的字段。 这两个部分单独工作,但他们不一起工作。

范围类的自动筛选失败 – 我收到此错误

在使用AutoFilter之前,您必须检查并设置AutoFilter

 Sub SortExchangesEurope() Dim wS As Worksheet Dim intCounter As Integer Dim rngExchange As Range Set wS = Sheets("Sheet1") intCounter = 1 With wS Do While .Cells(2, intCounter).Value <> "Exchange" Then intCounter = intCounter + 1 Loop Set rngExchange = .Range(.Cells(2, intCounter), .Cells(2, intCounter)) '.Activate '.Range("B2").Activate If Not .AutoFilterMode Then .AutoFilterMode = True .Range("$A$2:$AP$778").AutoFilter Field:=intCounter, Criteria1:=Array( _ "XBEL", "XBUD", "XBSE", "XQMH", "XWAR", _ "BMEX", "XLIS", "XLIT", "XBUL", "ASEX", _ "XDUB", "XBRU", "XLUX", "XSTO", "XSWX", _ "XHEL", "XMOS", "MISX", "XCSE", "XVTX", _ "IEPA", "XMIL", "XLIS", "BMEX", _ "XLJU", "ASEX", "XRIS", "XBRA", "xlOn", _ "XOSL", "XPAR", "XPRA", "XICE", "XIST", _ "XTAL", "XMIL", "XTRN", "XBRU", "XLDN", _ "XAMS", "XZAG", "XSWX", "XATH", "XMAD", "XOME", _ "XMRV", "XADE", "XVTX", "XTAH", "RTSX", "XLTO", _ "XDMI", "MFOX", "XMAD", "XMAT", "XTLX", "ICEU", _ "XMON", "XTUR", "XBRD", "XEDX", "XOME", "XLIF"), Operator:=xlFilterValues End With 'wS End Sub