VBA,如何判断单元格中公式的结果是不是是星期天或星期六呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA,如何判断单元格中公式的结果是不是是星期天或星期六呢?相关的知识,希望对你有一定的参考价值。

假如日期在A1单元格,在B1输入判断公式:=IF(WEEKDAY(A1,2)=6,"星期六",IF(WEEKDAY(A1,2)=7,"星期日","工作日"))追问

如何星期六或天就变色呢?

追答

条件格式,设置判断B1="星期六"OR"星期日" 单元格格式变色,颜色可以自行设定

追问

条件格式不行吗?

参考技术A 调用EXCEL函数判断好了
用APPLICATION.WEEKDAY()判断追问

如何星期六或天就变色呢?

追答

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As range
if Target.column= 1 Then
Application.EnableEvents=False
For each cel in Target
If cel.value "" And APPLICATION.WEEKDAY(cel.value,2)>5 Then
cel.interior.colorindex=3
end if
next
Application.EnableEvents=True
end if
end sub
假设你的日期数据在A列

追问

似乎不行啊,第一列写什么呢?日期?日期格式的数据?

追答

这个我测试过可以的。
第一列的日期格式:2013-12-31
不要写成2013.12.31

追问

第一列是公式,引用其他的列也可以吗?

追答

我这个代码是判断你的A列日期是否为周六周日的
即使A列是公式也没问题
完善一点可以这样:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As range
Range("A:A").interior.colorindex=0
if Target.column= 1 Then
Application.EnableEvents=False
For each cel in Target
If cel.value "" And APPLICATION.WEEKDAY(cel.value,2)>5 Then
cel.interior.colorindex=3
end if
next
Application.EnableEvents=True
end if
End sub

本回答被提问者采纳

Excel,VBA中,如何判断变量是不是包含特定字符串

excel单元格中可以用调用find,search的Application.WorksheetFunction公式。但vba的变量用什么方法?
现在是假定变量a="我想测试是否包含aa字符串",这个变量a中是否含有aa,如何测试??

VBA 中可以使用 这两个函数 函数啊……
也可以直接使用 另外一种 Like 函数……
如:
If A Like "*aa*" Then
MsgBox "A中有aa 这个字符串"
Else
MsgBox "A中没有aa 这个字符串"
End If
或者 使用 InStr 这个函数计算 也可以……
参考技术A if instr(1,a,"aa") >0 then
msgbox("a 包含 'aa'")

else
msgbox("a 不包含 'aa'")
end if本回答被提问者采纳

以上是关于VBA,如何判断单元格中公式的结果是不是是星期天或星期六呢?的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL VBA判断单元格是不是包含某字符

如何查找单元格中是不是包含部分文本并引用另一列数据

vba 判断一个单元格中是不是包含某个字符串 有则执行后面的语句

vba在单元格中生成的公式如何变成文本值

Excel2010:如果日期列中的日期为星期六或星期日,则在某一单元格中显示“是”否则显示“否”

Excel,VBA中,如何判断变量是不是包含特定字符串