可能非常简单,为什么我不能在下面指定单元格和范围。

If Worksheets("Todaysbatch").Range("C2:C12") = "COOP_DAYEND" Then
FileCopy COOPTEMPLATES & COOPDAYEND, newdir & COOPDAYEND


当我指定1个单元格时,代码完全符合我的要求

If Worksheets("Todaysbatch").Range("C2") = "COOP_DAYEND" Then
FileCopy COOPTEMPLATES & COOPDAYEND, newdir & COOPDAYEND


我希望它查看C2:C12工作表上的单元格Todaysbatch并匹配字符串"COOP_DAYEND"

最佳答案

Range("C2:C12)返回一个数组。如果要访问该数组,则可以对其进行循环并查看该值是否存在。

甚至更容易,您可以使用工作表功能Match来查看它是否在您的范围内。

我进行了@scottcraner指出的更改,如果不存在,我进行更改的方式将出错。

If Not IsError(Application.Match("COOP_DAYEND", _
  Worksheets("Todaysbatch").Range("C2:C12"), 0)) Then
    FileCopy COOPTEMPLATES & COOPDAYEND, newdir & COOPDAYEND
End If

07-28 13:52