我写了一段简短的代码,打算双击电子表格上的“ +”号,它应该复制“ +”号所在的整行,并在该行的正下方插入新行。完全一样
如果在将任何文本添加到工作表之前尝试添加一行,则没有问题。但是,如果我添加文本,甚至没有添加到我要复制的行,然后尝试添加一行,我都会得到
“对象'Range'的方法'Insert'失败”
错误,即使我在复制前已删除了文本。插入本身似乎确实发生了,但是只是触发了一个错误。但是,如果我先使用Delete行,甚至不删除带有文本的行,代码就可以正常工作。调试Cells(Target.Row + 1, 1).EntireRow.Insert
部分似乎是问题所在。
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Unprotect Password:=strPwd
If ActiveCell.Column = 3 And Target.Value = "+" Then
Target.EntireRow.Copy
Cells(Target.Row + 1, 1).EntireRow.Insert
Cells(Target.Row + 1, 1).EntireRow.Select
For Each Cell In Selection
If Cell.Interior.Color = 13434879 Then
Cell.ClearContents
ElseIf Cell.Interior.Color = Black Then
Cell.ClearContents
End If
Next
Cells(Target.Row + 1, 4).Select
Application.CutCopyMode = False
ElseIf ActiveCell.Column = 2 And Target.Value = "-" Then
Target.EntireRow.Select
Target.EntireRow.Delete
Cells(3, 4).Select
End If
ActiveSheet.Protect Password:=strPwd, UserInterfaceOnly:=True
End Sub
任何帮助将不胜感激。乐意在需要时提供更多信息。