当我在合并的单元格上按删除按钮时出现错误(类型不匹配 13),但是,此错误仅在单元格合并时显示,否则不会引发错误,我不明白为什么,请按照代码进行操作:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("AG3") Then
If Target.Value = 5 Then
Sheets("Sheet6").CommandButton6.Visible = False
Else
Sheets("Sheet6").CommandButton6.Visible = True
End If
End If
On Error Resume Next
Sheets("Sheet6").CommandButton6.Visible = False
On Error GoTo 0
End Sub
缺什么?
单元格AG3
有一个从 0 到 5 不等的数字
当您从合并的单元格中删除一个值时,Target
获取整个范围,而不仅仅是第一个单元格。此行为与向合并单元格添加值时不同(在这种情况下,只有来自合并区域的第一个单元格会被传入)。
例如 - 如果我D2:D8
使用此事件处理程序在工作表上合并:
Private Sub Worksheet_Change(ByVal Target As Range)
Debug.Print Target.Address, TypeName(Target.Value)
End Sub
在合并的单元格中输入“测试”会给我:
$D$2 String
并删除该值给了我:
$D$2:$D$8 Variant()
我才刚刚学到。
因此,请考虑查看Target.Cells(1)
而不是Target
(取决于您的确切用例)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句