newbの質問をお詫びしますが、オンラインで解決策を見つけられませんでした。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は、4つの日付範囲を定義します(開始は列O、終了は列P)。これらは、セルのフォーマット方法に応じて、数値または日付のように見える日付です。'Some_dates'ワークシートの列Nには、各日付範囲のラベルがあります。
どんな助けでも大歓迎です!