vba - 运行时错误 450;为什么我不能调试它?
问题描述
为什么每当我录制一个宏并想设置一个变量时——对话框会自动提示错误数量的参数或无效的属性分配。有谁能够帮我?因为我仍然是使用 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
解决方案
如果 Sheet1 是活动工作表,则 Range("L8:L9") 和 Range("N8:T8") 仅“属于”Sheet1。您需要为所有范围/单元格引用提供正确的父工作表引用。
为了减轻多重分配,一个 With ... End With 块可能会有所帮助。请注意,在块内,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
推荐阅读
- python - 为什么 tensorflow 将 one_hot 的值加倍?
- python-3.x - 具有相同输入的两个 python(3) 类(扩展一个 python 类)
- python - 删除多余的空字符串?
- combobox - lookupPickerField 中的动态数据
- javafx - 如何为一个应用设置两个时间线?
- mongodb - MongoDB 4.0 事务:ACID 读 + 写?
- laravel - 从 Laravel 应用程序跟踪 Redis 密钥更改并在仪表板中显示
- c# - 获取 O365 用户的后台作业获得未经授权的异常
- jasper-reports - 字体 X 对 JVM 不可用
- optimization - 在整数线性程序中对变量进行优先级排序