可能是一个非常简单的代码,为什么我不能在下面指定单元格和范围?
final_list = [item for sublist in df.values.tolist() for item in sublist]
当我指定1个单元格时,代码完全符合我的要求
If Worksheets("Todaysbatch").Range("C2:C12") = "COOP_DAYEND" Then
FileCopy COOPTEMPLATES & COOPDAYEND, newdir & COOPDAYEND
我希望它浏览If Worksheets("Todaysbatch").Range("C2") = "COOP_DAYEND" Then
FileCopy COOPTEMPLATES & COOPDAYEND, newdir & COOPDAYEND
工作表上的单元格C2:C12
并匹配字符串Todaysbatch
答案 0 :(得分:2)
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
答案 1 :(得分:2)
就像我在上面的评论一样,您似乎只想知道您的范围是否具有任何值COOP_DAYEND
。如果是这样,您可以尝试:
If [COUNTIF(Todaysbatch'!C2:C12,"COOP_DAYEND")] > 0 then
FileCopy COOPTEMPLATES & COOPDAYEND, newdir & COOPDAYEND
End if