我对原始问题进行了一些调整。首先,需要提醒的一点是,我不是任何一个想象中的VBA精英,所以这正是我试图一起解析以简化工作流程。基于相邻单元格值返回响应
考虑到给出的评论,我决定在隐藏的单元格中包含公式,这将有助于简化该过程,但我仍然收到错误并且不确定导致它们的确切原因。我有一列(第3-1500行,第col.U)返回星期几的名称(它正在读取输入到列C(行3-1500)的日期值的“dddd”)和那么我想让列M根据列U中存储的值返回“是”,“否”或“星期天”......我不断收到“应用程序定义或用户定义的错误”消息,并且我真的不知道错误来自哪里。
注意:这个子文件位于特定工作表的工作表模块中,我尝试将它作为公共模块移动到外部,但仍然会引发错误。
Sub IsWeekend()
For i = 3 To 1500
If Cells(i, 3) <> 0 And Cells(i, 20) <> "" Then
If Range("U3:1500") = "Sunday" Then
Range("M3:1500") = "Sunday"
ElseIf Range("U3:1500").Text = "Saturday" Then
Range("M3:1500") = "Yes"
Else
Range("M3:1500") = "No"
End If
End If
Next i
End Sub
谢谢!
如果我决定去实施一个工作表公式的路线,如果有一种方法来指定三个不同的可能性?即如果我想根据日期是vbSunday(“SUNDAY”),vbSaturday(“Saturday”)还是任何其他vbweekdays(“否”),想要三种不同的可能答案? – user3794203 2015-02-25 16:36:55
WORKDAY()返回表示星期几的数字,在我的示例中1 =星期一,2 =星期二等。因此,您只需测试该数字的值 – 2015-02-25 16:43:51