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

时间:2017-08-29 16:14:27

标签: excel vba

我需要一个代码来检查日期,如果日期是2017年或更新,则变量B设置为100 000,否则如果日期是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

1 个答案:

答案 0 :(得分:1)

Year值使用Date函数,然后进行测试:

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)包含字符串文字,您可能需要将其明确地转换为日期,例如:

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