gpt4 book ai didi

vba - 日期之间的查找检查

转载 作者:行者123 更新时间:2023-12-04 21:03:16 28 4
gpt4 key购买 nike

我需要用于查找函数的 VBA 代码来检查某个值是否在两个日期之间。我的问题是如何在 VBA 中编写这个“2;1/”?

=LOOKUP(2;1/((J3>=Sheet2!$B$2:$B$25)*J3<=Sheet2!$C$2:$C$25));Sheet2!$F$2:$F$25)  

我可以写类似的东西吗?:
abc=application.Lookup(2;1/((Cells(3,10)>=Worksheets("Sheet2").Range(B2:B25)*Cells(3,10)<=Worksheets("Sheet2").Range(C2:C25));Worksheets("Sheet2").Range(F2:F25)

最佳答案

我猜 ;是塞尔维亚的默认分隔符,所以应该没问题。
另一方面,您的括号位于错误的位置 - 左括号在最后一个 ; 之前关闭最后的右括号没有伴随的左括号。

要在 VBA 中编写,您可以使用:

使用工作表代号:

r = Application.WorksheetFunction.Lookup _
(2; 1 / (J3 >= Sheet2.Range("$B$2:$B$25")) * J3 <= Sheet2.Range("$C$2:$C$25"); Sheet2.Range("$F$2:$F$25"))

使用工作表选项卡名称:
r = Application.WorksheetFunction.Lookup _
(2; 1 / (J3 >= Worksheets("Sheet2").Range("$B$2:$B$25")) * J3 <= Worksheets("Sheet2").Range("$C$2:$C$25"); Worksheets("Sheet2").Range("$F$2:$F$25"))

将范围添加到变量并使用它们:
Dim MyRange1 As Range
Dim MyRange2 As Range
Dim MyRange3 As Range
MyRange1 = Worksheets("Sheet2").Range("$B$2:$B$25")
MyRange2 = Worksheets("Sheet2").Range("$C$2:$C$25")
MyRange3 = Worksheets("Sheet2").Range("$F$2:$F$25")

r = Application.WorksheetFunction.Lookup _
(2; 1 / (J3 >= MyRange1) * J3 <= MyRange2; MyRange3)

我还没有真正使用过 LookUp,所以不能说公式是否会返回您期望的结果。

关于vba - 日期之间的查找检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634813/

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