excel宏代码的问题,请高手帮忙解答!
自己录制了一个宏,在Sheets("RC")的A行做高级筛选,筛选数据在Sheets("SE")的A行,最后将筛选好的数据粘贴到Sheets("RCFILTER")宏代码...
自己录制了一个宏,在Sheets("RC")的A行做高级筛选,筛选数据在Sheets("SE")的A行,最后将筛选好的数据粘贴到Sheets("RC FILTER")
宏代码如下:
Sub Macro2()
'
' Macro2 Macro
'
'
ActiveWindow.SmallScroll Down:=-9
Sheets("RC").Select
ActiveWindow.SmallScroll Down:=-12
Range("A1:A780").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("SE").Range("A1:A39"), Unique:=False
ActiveWindow.SmallScroll Down:=-120
Rows("1:1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("RC FILTER").Select
ActiveWindow.SmallScroll Down:=-6
Range("A1").Select
ActiveSheet.Paste
Rows("1:1").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWorkbook.Worksheets("RC FILTER").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("RC FILTER").AutoFilter.Sort.SortFields.Add Key:= _
Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("RC FILTER").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("CONTRAST").Select
End Sub
但是 Sheets("RC").Select
ActiveWindow.SmallScroll Down:=-12
Range("A1:A780").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("SE").Range("A1:A39"), Unique:=False 这行代码有问题,因为我每次copy过来的Sheets("RC")和Sheets("SE")的行数都不一样,请问该如何修改才能自动控制行数 ? 展开
宏代码如下:
Sub Macro2()
'
' Macro2 Macro
'
'
ActiveWindow.SmallScroll Down:=-9
Sheets("RC").Select
ActiveWindow.SmallScroll Down:=-12
Range("A1:A780").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("SE").Range("A1:A39"), Unique:=False
ActiveWindow.SmallScroll Down:=-120
Rows("1:1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("RC FILTER").Select
ActiveWindow.SmallScroll Down:=-6
Range("A1").Select
ActiveSheet.Paste
Rows("1:1").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWorkbook.Worksheets("RC FILTER").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("RC FILTER").AutoFilter.Sort.SortFields.Add Key:= _
Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("RC FILTER").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("CONTRAST").Select
End Sub
但是 Sheets("RC").Select
ActiveWindow.SmallScroll Down:=-12
Range("A1:A780").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("SE").Range("A1:A39"), Unique:=False 这行代码有问题,因为我每次copy过来的Sheets("RC")和Sheets("SE")的行数都不一样,请问该如何修改才能自动控制行数 ? 展开
1个回答
展开全部
高级筛选目标区域只要指定左上角即可,所以代码Sheets("SE").Range("A1:A39")和代码Sheets("SE").Range("A1")效果一样的,都符合你的要求
更多追问追答
追问
改成了:
Sheets("SD").Select
Application.CutCopyMode = False
Range("A1").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("SE").Range("A1"), Unique:=False
运行错误
追答
不好意思刚刚看错了,把条件区域看成目标区域了。如果A列下面没东西,可以增加一个变量
n=sheets("SD").[a65536].end(3).row
Sheets("SD").Select
Application.CutCopyMode = False
Range("A1").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("SE").Range("A1").resize(n), Unique:=False
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询