2016-06-21 2 views
3

현재 Excel 파일을 만들고 VBA를 추가하고 있습니다. 나는 다음과 같은 VBA로 Sheet1의 버튼을 추가 :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 

코드의 목적은 "XXXXXX"를 포함하는 셀 위 시트 2에 새 행을 포함하는 셀의 위 시트 1에 새 행을 추가하는 것입니다 "YYYYYY ". Sheet1에 새 행을 추가하면됩니다. 그러나 Sheet2에 새 행을 추가하는 것은 아닙니다. If d.Value Like "YYYYYY" Then에서 '런타임 오류 13 유형 불일치'오류가 발생하지만 If c.Value Like "XXXXXX" Then에서 오류가 발생하고 이유를 모르겠습니다. 사전

+0

봐에

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

을 변경합니다. 값이 오류입니까? –

+0

두 번째 시트에 "YYYYY"가 없을 수 있습니까? –

+0

'd'는 100 개의 세포를 보유하고 있습니까? 한 번에 100 개의 세포를 '할 수 있습니까?' – findwindow

답변

0

시도 감사는 테스트중인 셀에서이

If Not IsError(d.Value) Then 
    If d.Value Like "YYYYYY" Then d.EntireRow.Insert 
End If 
관련 문제