별의 공부 블로그 🧑🏻‍💻
728x90
728x170

'1004' 런타임 오류 (매크로, 데이터 통합)

 

개요

 

매크로 기능 사용하여 데이터 통합 기능을 구현할 경우, 이와 같은 오류가 뜨는 경우가 있다.

 

 

'1004' 런타임 오류가 발생하였습니다: 원본 참조는 중복하여 추가할 수 없습니다.

 

매크로를 사용할 때, 데이터 통합 기능을 사용하면서 참조 영역을 지정할 때 발생하는 오류로 판단이 되어진다. (버그)

 

 

해결 방법

비주얼 베이직 에디터로 매크로 코드를 열어보면 다음과 같다.

 

Sub 평균()
'
' 평균 매크로
'

'
    Range("A12:C18").Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Selection.Consolidate Sources:=Array( _
        "'C:\[10회.xlsm]기타작업-2'!R2C1:R8C4" _		// 참조 영역 범위 1
        , _
        "'C:\[10회.xlsm]기타작업-2'!R2C1:R8C4" _		// 참조 영역 범위 2
        ), Function:=xlAverage, TopRow:=True, LeftColumn:=True, CreateLinks:= _
        False
    Range("F16").Select
End Sub
Sub 합계()
'
' 합계 매크로
'

'
    Range("A12:C18").Select
    Selection.Consolidate Sources:=Array( _
        "'C:\[10회.xlsm]기타작업-2'!R2C1:R8C4" _		// 참조 영역 범위 1
        , _
        "'C:\[10회.xlsm]기타작업-2'!R2C1:R8C4" _		// 참조 영역 범위 2
        ), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
    Range("H18").Select
End Sub

 

코드를 보면,

 

참조 영역 범위가 중복해서 입력되어 있는 것을 확인할 수 있다. (R2C1:R8C4)

여기서 R은 ROW(행), C는 COLUMN(열)을 의미한다.

 

두 번째 참조 영역의 범위를 알맞게 수정해준다.

 

Sub 평균()
'
' 평균 매크로
'

'
    Range("A12:C18").Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Selection.Consolidate Sources:=Array( _
        "'C:\[10회.xlsm]기타작업-2'!R2C1:R8C4" _		// 참조 영역 범위 1
        , _
        "'C:\[10회.xlsm]기타작업-2'!R2C6:R8C9" _		// 참조 영역 범위 2
        ), Function:=xlAverage, TopRow:=True, LeftColumn:=True, CreateLinks:= _
        False
    Range("F16").Select
End Sub
Sub 합계()
'
' 합계 매크로
'

'
    Range("A12:C18").Select
    Selection.Consolidate Sources:=Array( _
        "'C:\[10회.xlsm]기타작업-2'!R2C1:R8C4" _		// 참조 영역 범위 1
        , _
        "'C:\[10회.xlsm]기타작업-2'!R2C6:R8C9" _		// 참조 영역 범위 2
        ), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
    Range("H18").Select
End Sub

 

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖