gpt4 book ai didi

excel - VBA:从另一张表中获取引用值作为过滤条件

转载 作者:行者123 更新时间:2023-12-04 20:54:39 25 4
gpt4 key购买 nike

我有两张纸——“标准”和“临时”。

我想在标准表中应用过滤器,其中标准将从“临时”表的事件单元格中获取。我的下面的宏由于某种原因失败了。

Sub FilterTest1()
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "temporary"

ActiveSheet.[A:A].Value = Worksheets("Criteria").[A:A].Value

Cells.RemoveDuplicates Columns:=Array(1)

Range("A1").EntireRow.Delete

Dim B As Integer
B = Cells.CurrentRegion.Rows.Count

With Sheets("Temporary")
Selection.End(xlDown).Select
End With


With Sheets("Criteria")

.Range("$A:$B").AutoFilter
.Range("$A:$B").AutoFilter field:=1, Criteria1:=Worksheets("temporary").ActiveCell.Value, Operator:=xlOr

End With

End Sub

宏以 a 结尾

run time error 438 "Object doesnt support this property or method.



什么是正确的方法?

添加更多信息:目标是一一更改标准。现在它应该选择 Temporary!A:A 中的最后一个事件单元格,但稍后我将在 Temporary!A:A 中向上偏移选择,并将每个事件单元格表作为过滤标准。

最佳答案

将 Temporary!A:A 中的最后一个值应用于 var 比依赖 Select 和 Selection 更容易。

但是,您的所有代码似乎都归结为 AutoFilter 将 Criteria!A:A 中的最后一个值作为过滤器。添加一个新工作表,复制 Criteria!A:A 中的值,删除重复项,然后选择 Temporary!A:A 中最后一个填充的单元格并没有改变它。如果您对 Temporary!A:A 中的数据进行了排序,它可能会发生变化,但您当前所做的任何事情都不会改变 Criteria!A:A 中填充的最后一个值的标准。

Sub FilterTest1()
dim c as variant
with workSheets("Criteria")
c = .cells(.rows.count, "A").end(xlup).value
.Range("A:B").AutoFilter field:=1, Criteria1:=c
End With
End Sub

关于excel - VBA:从另一张表中获取引用值作为过滤条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51130177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com