我對Excel VBA很新。 根據工作表上特定單元格上的輸入,我正在觸發幾個宏。另一個運行時錯誤'13':類型不匹配
我對前2個選項沒有問題。 但是每次我使用第三個選項,即刪除行,&,每次編輯單元格或刪除單元格時,都會遇到錯誤。
的代碼如下:
Sub Worksheet_Change(ByVal Target As Range)
Set Target = ActiveCell
If Target.Value = "Fuel Supply" Then (<=Error At This Point)
Fuel_Heating_Value
ElseIf Target.Value = "Add Row" Then
Insert_New_Row
ElseIf Target.Value = "Delete Row" Then
Delete_Row
Else:
End If
End Sub
的錯誤是總是在代碼中的第一個選項語句中的第三行。
第三選項代碼如下:
Sub Delete_Row()
'
' Delete_Row Macro
'
Application.ScreenUpdating = False
ActiveCell.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
ActiveCell.Offset(-1, 12).Select
ActiveCell.Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(0, -11).Select
Application.ScreenUpdating = True
End Sub
任何有助於消除這一問題將不勝感激。
謝謝。
請在代碼中標出產生錯誤的行(''< - Error here'),您的描述有點混亂。 – Andre
正如我在下面的回答中所述,刪除行的操作會觸發另一個更改事件,並且Worksheet_Change會嘗試在其本身之上運行。當它這樣做時,Target是替換已刪除行的行,因此「Target」不是單個單元格。它是16,384個單元格的集合(整行),不能將16,384個單元格的集合與單個文本字符串進行比較。這是'類型不匹配'。 – Jeeped