我为新手问题道歉,但尚未在线找到解决方案。我正在尝试对 VBA 中的日期范围做一个简单的 if-then 语句。到目前为止我的代码(不工作):
LR = 52
Set rngData = Range("D2:D" & LR)
'define the data range to evaluate
For Each rngCell In rngData
Select Case rngCell.Value
Case Val(Range("'Some_dates'!O8").Value) To Val(Range("'Some_dates'!P8").Value): rngCell.Value = Range("'Some_dates'!N8").Value
Case Val(Range("'Some_dates'!O9").Value) To Val(Range("'Some_dates'!P9").Value): rngCell.Value = Range("'Some_dates'!N9").Value
Case Val(Range("'Some_dates'!O10").Value) To Val(Range("'Some_dates'!P10").Value): rngCell.Value = Range("'Some_dates'!N10").Value
Case Val(Range("'Some_dates'!O11").Value) To Val(Range("'Some_dates'!P11").Value): rngCell.Value = Range("'Some_dates'!N11").Value
Case Else: rngCell.Value = "Outside date ranges"
End Select
Next rngCell
所有单元格的输出都是“日期范围之外”,这意味着它为 rngData 中的所有单元格选择了“else”值,这是不正确的。
“Some_dates”工作表中的单元格 O8:P11 定义了四个日期范围(开始是 O 列,结束是 P 列)。这些日期可能看起来像数字或日期,具体取决于您格式化单元格的方式。“Some_dates”工作表中的 N 列包含每个日期范围的标签。
任何帮助表示赞赏!