为了账号安全,请及时绑定邮箱和手机立即绑定

提示类型不匹配 求大神教教怎么办?

提示类型不匹配 求大神教教怎么办?

千巷猫影 2022-10-01 15:11:46
目的就是 当 表里面这个函数:IF(Sheet2!$C14="RP25",Sheet2!D14,"0") 判别为否输出0的时候能把整一行都去掉 但是这个代码手打出0的时候可以 下拉的时候就会报错 Private Sub Worksheet_Change(ByVal Target As Range)If Target.Column = 1 ThenIf Target.Value = "0" ThenTarget.EntireRow.Hidden = TrueEnd IfEnd IfEnd Sub
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

VBA中类型不匹配,有可能对比,或运算时使用了两种不同的类型,导致无法匹配。
例如你拿一个object对象对比一个text文本,就无法匹配。
如在Excel中,一个工作表对象和一个数值相加,就会提示类型不匹配。
还有就是,你拿一个数字和一个文本相乘这样的,也会提示错误。
好好检查一下吧。对象都是有属性的。例如你要比较一个对象的名称是不是与一个文本相同,则可以使用对象属性提取对象名称再与文本比较。
例如
if object.name = "新建文件" then
……
end if
这样是可以的。
如果object是个对象,你却使用下边的语句
if object = "新建文件" then
……
end if
这就是错了,类型不匹配。

查看完整回答
反对 回复 2022-10-06
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
tr = Target.Row
tc = Target.Column
If tc = 1 And Cells(tr, "A") = 0 Then
Rows(tr).Delete
End If
End Sub
公式,0就不要加 引号了嘛
=IF(Sheet2!$C14="RP25",Sheet2!D14,0)

Sub 删除()
Dim i
For i = Range("a65536").End(xlUp).Row To 1 Step -1
If Cells(i, "A") = 0 Then
Rows(i).Delete
End If
Next
End Sub

查看完整回答
反对 回复 2022-10-06
  • 2 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信