해결 엑셀2021윈도우10
행 삽입 매크로에서 디버그 오류가 뜹니다.
특정 열에 있는 숫자 값을 기준으로 행을 삽입하는 매크로를 만들어 봤습니다
아무래도 아직 매크로 이해도가 떨어져서 구글링 해서 짜집기 하는 방식으로 매크로를 짰는데...
정상 작동은 하나 자꾸 디버그 오류가 뜹니다.

이렇게 되어있던걸

이렇게 행 삽입 하고 있거든요. 정상 작동은 해서 사용은 하고 있으나 계속 오류가 뜨니 찝찝하네요.
아래 코드에서 노란색 칠한 부분이 오류가 뜹니다.
어떻게 해야 오류가 안날까요?
Sub Shiftrows
Dim lastRow As Long
Dim i As Long
Dim ShiftCount As Long
lastRow = Cells(Rows.Count, "a").End(xlUp).Row
For i = lastRow To 1 Step -1
ShiftCount = Cells(i, "a").Value - 1
If IsNumeric(ShiftCount) And ShiftCount >= 1 Then
Rows(i + 1 & ":" & i + ShiftCount).Insert Shift:=xlDown
End If
Next i
End Sub
이렇게 매크로를 짜봤는데 저기 노란색 부분이 자꾸 디버그 오류가 떠요.
아무래도 아직 매크로 이해도가 떨어져서 구글링 해서 짜집기 하는 방식으로 매크로를 짰는데...
정상 작동은 하나 자꾸 디버그 오류가 뜹니다.
이렇게 되어있던걸
이렇게 행 삽입 하고 있거든요. 정상 작동은 해서 사용은 하고 있으나 계속 오류가 뜨니 찝찝하네요.
아래 코드에서 노란색 칠한 부분이 오류가 뜹니다.
어떻게 해야 오류가 안날까요?
Sub Shiftrows
Dim lastRow As Long
Dim i As Long
Dim ShiftCount As Long
lastRow = Cells(Rows.Count, "a").End(xlUp).Row
For i = lastRow To 1 Step -1
ShiftCount = Cells(i, "a").Value - 1
If IsNumeric(ShiftCount) And ShiftCount >= 1 Then
Rows(i + 1 & ":" & i + ShiftCount).Insert Shift:=xlDown
End If
Next i
End Sub
이렇게 매크로를 짜봤는데 저기 노란색 부분이 자꾸 디버그 오류가 떠요.
탐
우
엑
댓글 6
혹시 Dim ShiftCount As Long -> As Variant로 바꿔 보세요.
IF Not IsError(Cells(I, "a)).Value2) Then
IF IsNumeric(Cells(i, "a").Value2) Then
을 앞에 추가하여 오류나 숫자가 아닌 것은 skip하세요.
Option Explicit Sub Shiftrows() Dim lastRow As Long Dim i As Long Dim ShiftCount As Long lastRow = Cells(Rows.Count, "a").End(xlUp).Row For i = lastRow To 1 Step -1 ShiftCount = Cells(i, "a").Value - 1 If IsNumeric(ShiftCount) And ShiftCount >= 1 Then Cells(i + 1, 1).Resize(ShiftCount, 1).Insert Shift:=xlDown, _ CopyOrigin:=xlFormatFromLeftOrAbove End If Next i End Sub '또는 Sub 행삽입() Dim iLastRow As Integer, i As Integer Dim r As Range iLastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row With Sheet1 For i = iLastRow To 2 Step -1 Set r = .Cells(i, 1) r.Offset(1, 0).Resize(r.Value - 1, 1).Insert Shift:=xlDown, _ CopyOrigin:=xlFormatFromLeftOrAbove Next i End With End Sub