0

我正在寻找构建我的 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 不包含“RADMON”的报告被我的代码主动杀死。

4

1 回答 1

0

您的第一个 if 语句是双重否定的。InStr函数将返回找到的字符串的位置。 InStr(1, fName, "RADMON", vbTextCompare) = 0表示未找到该字符串,Not InStr(1, fName, "RADMON", vbTextCompare) = 0如果fCount大于 6 并且找到“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 
于 2021-06-02T15:43:39.253 回答