在excel vba中对webquery结果进行sorting

我有一个web查询,我刷新查询开始的单元格。 如下所示:

Sheets(sheetBeingProcessed).Range(queryAdr).QueryTable.Refresh BackgroundQuery:=False 

我使用vba进行刷新,单击一下,我的macros就会遍历所有表单,逐个刷新它们,每一天都会返回不同的数据行(有时候是0行),这都是可以接受的,而且都很好看。

现在,我想按照每张表的“到期date”列sorting结果。 任何想法我怎么能做到这一点?

2困难在于,1如何判断“到期date”栏位在哪里,这相当容易。 第二个问题…我如何sorting我得到的结果?

我试图激活每个工作表,并select范围和sorting,但没有奏效

 ActiveWorkbook.Worksheets(sheet).Activate ActiveWorkbook.Worksheets(sheet).Range(sortStartAddress).Select Dim resultRange As Variant Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Set resultRange = ActiveWorkbook.ActiveSheet.Selection 

下面的最后一行是失败…

我敢肯定,必须有一个更清洁的方式之间没有翻转之间的工作表激活他们和select范围..看起来丑陋…任何想法?

我不认为你必须激活每张纸来sorting。

另外,您应该可以使用CurrentRegion选项来select整个区域。 看看这是否适用于你正在尝试的东西:

 ActiveWorkbook.Worksheets(sheet).Range(sortStartAddress).Select Dim resultRange as Range set resultRange = selection.CurrentRegion.Select 
 ActiveWorkbook.Worksheets(sheet).Range(sortStartAddress).CurrentRegion.Sort 'add sort options...