arrays - 尝试使用 vba 在 Excel 中创建数组后过滤时出错
问题描述
我正在尝试获取一个名称列表并根据这些名称是否出现过滤另一个列表。为此,我想创建一个名称数组,然后使用该数组将自动过滤器应用于特定列中的另一张工作表。这是我目前拥有的代码:
Dim AdvisorEINs As Variant
AdvisorEINs = Worksheets("Names to Filter").Range("A1:A36").Value
Worksheets("All Advisors").Range("$A$1:$DZ$2216").AutoFilter Field:=15, Criteria1:=AdvisorEINs.Value, Operator:=xlFilterValues
目前,Run-time error '424': Object required
当尝试运行和调试突出显示过滤行时,这会返回。我在Debug.Print
AdvisorEINs 变量上添加了一个,它输出相同的错误消息并向我建议这是由于变量没有正确获取数据。我不确定如何让阵列以其他方式获取数据 - 有人可以就此提供建议吗?
解决方案
你必须
使用
AdvisorEINs
而不是AdvisorEINs.Value
转置数组,因为
Value
多单元格范围的属性返回一个二维数组(尽管只有一列......)
如下:
Dim AdvisorEINs As Variant
AdvisorEINs = Worksheets("Names to Filter").Range("A1:A36").Value
Worksheets("All Advisors").Range("$A$1:$DZ$2216").AutoFilter Field:=15, Criteria1:=Application.Transpose(AdvisorEINs), Operator:=xlFilterValues
推荐阅读
- jenkins - 如何设置 helm chart 以通过 https 访问 jenkins?
- elasticsearch - 指定 Metricbeat Prometheus 字段名称
- css - CSS背景图片动画变为空白
- c++ - 获取图片为base64并写入为JPG
- javascript - 在 Rxjs 6 中将以前的值作为数组发出?
- python - 将 qtreeview 项目设置为可通过上下文菜单编辑并自动将其设置回禁用?
- ios - 如何使用 swift 修复 CLIPS 中的 EnvEval 错误
- android - 如何在 Flutter 中使用 Web 服务?
- php - 从数组中获取值的快速方法,另一个数组给出条件
- uwp - 有没有办法动态更改列表视图及其项目样式