【发布时间】:2020-06-26 00:25:43
【问题描述】:
我正在尝试完全执行 posted here 的操作,但不是双击单元格。我正在尝试将事件分配给另一张纸上的按钮。不断收到“需要对象”错误并且无法弄清楚原因。
Dim Arr 'Array to SPLIT string
Dim i As Long 'Index to loop through Arr
Dim Filt 'Array to filter range
Sheet2.Cells.AutoFilter
Arr = Split(Sheet2.Range("g2"), ";")
ReDim Filt(LBound(Arr) To UBound(Arr))
For i = LBound(Arr) To UBound(Arr)
Filt(i) = CStr(Arr(i))
Next i
Sheet2.Range("z5:z5000").AutoFilter 25, Filt, xlFilterValues
【问题讨论】:
-
你的完整代码是什么?
Target在Worksheet_BeforeDoubleClick代码中指的是被双击的单元格。你想做什么? -
@BigBen 所以我在 sheet1 上有一个按钮并尝试在单击时运行此代码。我想我的问题是我应该用什么替换“目标”以在单击按钮时使此代码工作?
-
去掉
If Not Intersect(Target, Sheet2.Range("b4:Ad5000")) Is Nothing Then,把Arr = Split(Target, ";")中的Target改成Range("A1").Value。根据需要更改范围参考。 -
如果要分配给一个按钮,请右键单击该按钮并分配宏。
-
@BigBen 好的,我实施了您的建议,我不再收到错误消息。但是,即使我设置了范围,它也不能正确过滤。我的标题来自 B4:AD4。过滤器正确过滤掉 col25 中的数据,但过滤器隐藏了标题并从第一行开始。奇怪