如果文本包含值为2017或更高的设置variables等于特定值

我需要一个代码检查date,如果date是2017年或更新variablesB设置为100 000,否则如果date是2016年或更旧B设置为25000.这是我迄今为止,但没有完全符合我的需求。

Do Until Y = "" 'Do until run out of identifier values - reach blank cell in column Z = ARng2.Value 'Z = Identifier Value Y = ARng2.Offset(i, 0).Value DateString = ARng2.Offset(i, -1) If InStr(DateString, "2017") > 0 Then B = Sheets("Information Sheet").Range("C7").Value '100000 Else B = Sheets("Information Sheet").Range("C6").Value '25000 End If 

任何帮助将不胜感激。 TIA

Date值使用Year函数,然后对其进行testing:

 If VBA.Year(ARng2.Offset(i, -1).Value2) >= 2017 Then B = Sheets("Information Sheet").Range("C7").Value Else B = Sheets("Information Sheet").Range("C6").Value End If 

如果ARng2.Offset(i, -1)包含一个string文字,您可能需要明确地将其转换为date,如:

 If VBA.Year(CDate(ARng2.Offset(i, -1).Value2)) >= 2017 Then...