高级筛选的VBA应用,有非常重要的作用。它可以快速高效率的提取数据集的子集。 高级筛选语句非常简单,但是却很有用!它是Range.AdvancedFilter,它有4个参数,分别对应高级筛选对话框中4个部分。对话框中的黑色箭头对应高级筛选的单元格使用区域。如图: 下面是一个VBA例子,这段代码是执行高级筛选,它要使用的excel文件如下:
sub 高级筛选() dim IRange as range dim ORange as range dim finarow as integer,nextcol as integer '上面是声明变量 finarow=cells(65536,1).end(xlup).row nextcol=cells(1,255).end(xlToleft).column+2 '给行变量,列变量赋值! Range("D1").copy Destination:=cells(1,nextcol) set ORange=cells(1,nextcol) '复制标题单元格,为输出区域定义一个变量ORange Set IRange=Range("A1").Resize(finarow,nextcol-2) '定义一个输出变量区域。 IRange.AdvancedFilter Action:=xlFiltercopy,copytorange:=ORange,unique:=True '使用高级筛选语句 End sub 以上代码为输入区域和输出区域设置对象变量。其实可以简化为: sub 高级筛选() [j1]=[d1] [a1].currentregion.advancedFilter xlFiltercopy,[j1],true end sub
[此贴子已经被作者于2008-7-9 21:48:08编辑过] |