猿问

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

目的就是 当 表里面这个函数:IF(Sheet2!$C14="RP25",Sheet2!D14,"0") 判别为否输出0的时候能把整一行都去掉 但是这个代码手打出0的时候可以 下拉的时候就会报错 
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Value = "0" Then
Target.EntireRow.Hidden = True
End If
End If
End Sub

千巷猫影
浏览 211回答 2
2回答

白衣非少年

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

慕虎7371278

Private Sub Worksheet_SelectionChange(ByVal Target As Range)tr = Target.Rowtc = Target.ColumnIf tc = 1 And Cells(tr, "A") = 0 ThenRows(tr).DeleteEnd IfEnd Sub公式,0就不要加 引号了嘛=IF(Sheet2!$C14="RP25",Sheet2!D14,0)或Sub 删除()Dim iFor i = Range("a65536").End(xlUp).Row To 1 Step -1If Cells(i, "A") = 0 ThenRows(i).DeleteEnd IfNextEnd Sub
随时随地看视频慕课网APP

相关分类

数据结构
我要回答