用vba在EXL表格编写的一段代码,请大神帮忙修改怎样可以运行成功。计算时运行时错误13,类型不匹配
答案:5 悬赏:80 手机版
解决时间 2021-01-25 15:46
- 提问者网友:辞取
- 2021-01-24 17:57
Private Sub Worksheet_Change(ByVal Target As Range)If Range("A1:Z500") > 17 ThenMsgBox "提示:有大于18的单元格"End IfEnd Sub
最佳答案
- 五星知识达人网友:动情书生
- 2021-01-24 18:18
这个代码错, Range("A1:Z500") > 17,这个区域和17一个数字没法比较。应该是这个区域中逐个单元格与17做比较。
Private Sub Worksheet_Change(ByVal Target As Range)
dim c
for each c in range("A1:Z500").cells
If c > 17 Then
MsgBox "提示:有大于18的单元格"
exit for
End If
next c
End Sub
但是,有必要每改一个单元格,都把500个单元格检查一次吗?也没错,只是……
Private Sub Worksheet_Change(ByVal Target As Range)
dim c
for each c in range("A1:Z500").cells
If c > 17 Then
MsgBox "提示:有大于18的单元格"
exit for
End If
next c
End Sub
但是,有必要每改一个单元格,都把500个单元格检查一次吗?也没错,只是……
全部回答
- 1楼网友:枭雄戏美人
- 2021-01-24 21:52
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("A1:Z500"), ">18") Then
MsgBox "提示:有大于18的单元格"
End If
End Sub
- 2楼网友:舍身薄凉客
- 2021-01-24 20:20
你好!
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("A1:Z500"), ">18") Then
MsgBox "提示:有大于18的单元格"
End If
End Sub
仅代表个人观点,不喜勿喷,谢谢。
- 3楼网友:等灯
- 2021-01-24 19:48
range是个区域,比较大小要统计的
If WorksheetFunction.CountIf(Range("A1:Z500"), ">17") Then
MsgBox "提示:有大于18的单元格"
End If
- 4楼网友:傲气稳了全场
- 2021-01-24 19:13
Private Sub Worksheet_Change(ByVal Target As Range)
For Each Target In Range("A1:Z500")
If Target.Value > 17 Then
MsgBox "提示:有大于17的单元格"
Exit Sub
End If
Next
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯