2016-06-21 214 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 
相关问题