2016-06-21 258 views
3

我目前正在處理Excel文件並添加了一些VBA。我添加一個按鈕Sheet 1上用下面的VBA:Excel 2013 VBA運行時錯誤13類型不匹配

Sub AddRow() 
Dim c, d As Range 
Set rng = ActiveSheet.Range("A1:A100") 
Set rng2 = Worksheets("Sheet2").Range("A1:A100") 
For dblCounter = rng.Cells.Count To 1 Step -1 
    Set c = rng(dblCounter) 
    If c.Value Like "XXXXXX" Then 
     c.EntireRow.Insert 
     For dblCounter2 = rng2.Cells.Count To 1 Step -1 
     Set d = rng2(dblCounter2) 
     If d.Value Like "YYYYYY" Then 
     d.EntireRow.Insert 
     End If 
     Next dblCounter2 
    End If 
Next dblCounter 
End Sub 

代碼的目的是Sheet 1上添加含有「XXXXXX」和含有Sheet 2上一個新行的單元格上方的單元上方的新行「YYYYYY 」。在Sheet1上添加新行。但是,在Sheet2上添加新行不會。我在If d.Value Like "YYYYYY" Then上得到'Runtime Error 13 Type Mismatch'錯誤,但在If c.Value Like "XXXXXX" Then沒有錯誤,我不知道爲什麼。在此先感謝

+0

看看正在被測試的細胞。是一個錯誤的價值? –

+0

是否有可能在第二張紙上不存在「YYYYY」? –

+0

'd'擁有100個細胞?你可以'如果'100個細胞一次嗎? – findwindow

回答

0

嘗試改變

   If d.Value Like "YYYYYY" Then 
        d.EntireRow.Insert 
       End If 

這個

If Not IsError(d.Value) Then 
    If d.Value Like "YYYYYY" Then d.EntireRow.Insert 
End If 
相關問題