我正在构建我的IF,Then,Else语句,以处理我的报告中可能出现的所有情况。
- 如果变量(fCount(的出现次数超过6,并且文件名(fName(不包含字符串";RADMON";,然后保存报告
- 如果变量(fCount(的出现次数超过249并且文件名(fName(确实包含字符串";RADMON";,然后保存报告
- 如果两者都不是真的,那么删除报告
我目前的结构是这样的:
If fCount > 6 And Not InStr(1, fName, "RADMON", vbTextCompare) = 0 Then
ActiveWorkbook.Save
ElseIf InStr(1, fName, "RADMON", vbTextCompare) = 0 And fCount >= 250 Then
ActiveWorkbook.Save
Else
ActiveWorkbook.Close
Kill
结果是报告fCount超过6但fName不包含"0"的情况;RADMON";正在被我的代码主动杀死。
您的第一个if语句是双负数。InStr函数将返回找到的字符串的位置。InStr(1, fName, "RADMON", vbTextCompare) = 0
意味着没有找到字符串,具有Not InStr(1, fName, "RADMON", vbTextCompare) = 0
意味着如果fCount
大于6并且"0";RADMON";已找到,请保存文件。
If fCount > 6 And InStr(1, fName, "RADMON", vbTextCompare) = 0 Then
ActiveWorkbook.Save
ElseIf InStr(1, fName, "RADMON", vbTextCompare) > 0 And fCount >= 250 Then
ActiveWorkbook.Save
Else
ActiveWorkbook.Close
Kill
End if