作者:乔山办公网日期:
返回目录:excel表格制作
D8、J8变红吗?
图片上知这道题答案为道B
上面的vba,我猜测为
sub test()
dim r1%,r2%,i%
r1=0
r2=0
for i=1 to range("k65536").end(xlup).row
if cells(i,"k")=cells(i,"l") then
r1=r1+1
else
r2=r2+1
end if
next
msgbox "相等的个数版为:" & r1 & ",不权相等的个数为:" & r2
end sub
以下为代码及详解:
Sub main()
Rng = Range("B" & Selection.Row)'定义变量rng为B列选中区域所在行
If Rng.Value <> Rng.Offset(-1, 0).Value Then'判断这个单元zhidao格的值与它上一个单元格的值是否一致
MsgBox "不相同!回"'如果不一致,则弹出提示框“不相同”
Exit Sub'退出程序
Else
MsgBox "相同!"'如果一致,则弹框提答示”相同“
End If
End Sub
如果你销会一些,可以这样,录制一个设置公式的宏,再录制一个设置格式的宏, 把两个宏的语句放在一起,稍加修改抄,再加个IF语句.基本就行了.
在实在不行的情况下,可以知需要检查的值先都引用到一个表上,再用条件格式检查.
附上一个水平一般的语句.可以复制到模块中,试一下.
Sub 开始检查()
If Worksheets("SHEET1").Cells(1, 1).Value = Worksheets("SHEET2").Cells(1, 1).Value + Worksheets("SHEET2").Cells(1, 2).Value Then
MsgBox "经检查,逻辑关系无误"
Else
MsgBox "表1中A1值不等于表2中A1与A2之和,请检查"
End If
End Sub
说明,引号内是道工作表名,CELLS内是行,列.