为什么每当我记录一个宏并想要设置一个变量时-对话框都会自动说出错误的参数数量或无效的属性分配。有谁能够帮助我?因为我还是VBA新手。
Sub Advanced_Filter()
'
' Advanced_Filter Macro
'
' Keyboard Shortcut: Ctrl+Shift+A
'
Set DataSH = Sheet1
DataSH.Range("B8").CurrentRegion.Range.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"L8:L9"), CopyToRange:=Range("N8:T8"), Unique:=False
End Sub
答案 0 :(得分:0)
Range(“ L8:L9”)和Range(“ N8:T8”)仅“属于” Sheet1。您需要为所有范围/单元格引用提供正确的父级工作表引用。
要简化多个任务,“使用...结束”块可能会有所帮助。请注意,在该块内,Range称为.Range。这将通过父工作表引用。
option explicit
Sub Advanced_Filter()
'
' Advanced_Filter Macro
'
' Keyboard Shortcut: Ctrl+Shift+A
'
dim DataSH as worksheet
Set DataSH = Sheet1
with DataSH
.Range("B8").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("L8:L9"), CopyToRange:=.Range("N8:T8"), _
Unique:=False
end with
End Sub