런타임 오류 1004: 범위 클래스의 PasteSpecial 메서드 실패

  • 이 공유
Hugh West

VBA 에서 복사 및 붙여넣기로 작업하는 동안 발생하는 가장 일반적인 문제 중 하나는 런타임 오류 1004 : 범위 클래스의 PasteSpecial 메서드 실패<2입니다>. 이 기사에서는 이 오류의 원인과 이를 해결하는 방법을 적절한 예와 그림을 통해 보여드리겠습니다.

실습 워크북 다운로드

이 기사를 읽는 동안 연습하려면 이 실습 통합 문서를 다운로드하십시오.

PasteSpecial Method Failed.xlsm

PasteSpecial 범위 클래스의 메소드 실패: 원인 and Solutions

더 이상 지체하지 말고 본론으로 들어가겠습니다. 즉, 이 오류의 가능한 원인과 이를 해결하는 방법입니다.

이유 1: 아무것도 복사하지 않고 PasteSpecial 메서드 액세스

이것이 가장 오류 뒤에 일반적인 이유입니다. 즉, 아무 것도 복사하지 않고 PasteSpecial 메소드에 접근을 시도하는 것입니다.

명확하게 이해하려면 다음 VBA 코드를 확인하십시오.

⧭ VBA 코드:

9812

여기서는 VBA PasteSpecial 방법을 사용했습니다. 무엇이든 복사합니다. 따라서 Excel을 실행하면 런타임 오류 1004 가 표시됩니다.

⧭ 해결 방법:

이 문제를 해결하려면 먼저 셀 범위를 복사한 다음 PasteSpecial 메서드에 액세스해야 합니다.

7892

이 코드를 실행하면 그것은활성 워크시트의 B3:B5 범위의 수식을 선택한 범위에 붙여넣습니다.

자세히 보기: 워크시트 클래스의 PasteSpecial 메서드 실패(이유 및 솔루션)

이유 2: 맞춤법 오류가 있는 PasteSpecial 메서드 액세스

이것은 오류. 즉, 모든 인수에 철자 오류가 있는 PasteSpecial 메서드에 액세스합니다.

다음 VBA 코드를 보면 명확합니다. xlPasteAll .

⧭ VBA 코드:

7357

<0 인수에서 맞춤법 오류를 범했습니다>이 코드를 실행하면 런타임 오류 1004 .

⧭ 솔루션:

솔루션은 간단합니다. 나는 당신이 이미 그것을 짐작했다고 확신합니다. 모든 인수의 철자가 올바르게 작성되었는지 확인하십시오.

그러면 오류가 자동으로 사라집니다.

자세히 알아보기: 붙여넣기 사용 방법 Excel의 특수 명령(5가지 적절한 방법)

유사 읽기

  • Excel VBA: 범위를 다른 통합 문서로 복사
  • Excel VBA를 사용하여 다음 빈 행에 값 복사 및 붙여넣기(예제 3개)
  • VBA PasteSpecial 적용 및 Excel에서 원본 서식 유지
  • 엑셀에서 여러 셀의 같은 값을 복사하는 방법(4가지 방법)
  • 조건에 따라 다른 워크시트에 행을 복사하는 엑셀 VBA

이유 3: 신규 오픈복사/붙여넣기 모드를 취소하는 복사 후 통합 문서

이것은 오류의 또 다른 중요한 이유입니다. 즉, 붙여넣기 전에 복사/붙여넣기 모드를 취소하는 작업을 하는 것입니다.

명확한 이해를 위해 다음 코드를 살펴보십시오.

⧭ VBA 코드:

6531

Workbook1 이라는 통합 문서의 Sheet1 에서 B3:B5 범위를 복사했습니다.

그런 다음 동일한 폴더에 Workbook2 라는 새 통합 문서를 만들고 복사한 범위를 Sheet1<의 범위 B3:B5 에 붙여넣으려고 했습니다. 2>.

하지만 코드를 실행하면 PasteSpecial Method of Range Class Failed 오류가 표시됩니다. 새 통합 문서를 만드는 순간 복사/붙여넣기 모드 가 취소됩니다.

⧭ 해결책:

이 문제를 해결하려면 먼저 코드 줄을 아래로 내려 Workbook2 라는 새 통합 문서를 만듭니다.

그런 다음 줄을 삽입하여 Workbook1 을(를) 활성화하고 여기에서 원하는 범위를 복사합니다.

마지막으로 Workbook2 를 활성화하고 복사한 범위를 붙여넣습니다.

7102

이 코드를 실행합니다. Workbook1.

Sheet1 에서 B3:B5 범위를 복사하여 붙여넣습니다. Workbook2 라는 새로 만든 통합 문서의 Sheet1 에.

⧭ 주의:

분명히 Workbook1 을(를) 실행하는 동안 열어 두는 것을 잊지 마십시오.code.

자세히 보기: 매크로 없이 Excel에서 복사 및 붙여넣기를 비활성화하는 방법(2가지 기준 사용)

이유 4: Application.CutCopyMode를 False로 전환하여 복사/붙여넣기 모드를 취소합니다

마지막으로 오류가 발생하는 또 다른 이유가 있을 수 있습니다. PasteSpecial 메서드에 액세스하기 전에 실수로 Application.CutCopyMode 를 끌 수 있습니다.

일반적인 방법은 아니지만 가끔 해야 할 때 만듭니다. 긴 수의 라인으로 작업하십시오.

명확하게 이해하려면 다음 코드를 참조하십시오. 여기에서는 B3:B5 범위를 복사했지만 붙여넣기 전에 CutCopyMode 를 취소했습니다.

⧭ VBA 코드:

2569

코드를 실행하면 PasteSpecial Method of Range Class Failed 오류가 표시됩니다.

⧭ 해결책:

이제쯤 여러분 모두 해결책을 짐작하셨을 것입니다. 실제로는 매우 간단합니다. 코드에서 CutCopy 모드를 끄는 행을 제거하십시오.

따라서 올바른 VBA 코드는 다음과 같습니다.

7402

B3:B5 범위를 복사하여 아무 문제 없이 D3:D5 위에 붙여넣습니다.

자세히 알아보기: VBA 선택하여 Excel에서 값 및 형식 복사(예 9개)

기억해야 할 사항

여기서는 VBA 에서 PasteSpecial 방법으로 작업하는 동안 발생할 수 있는 문제만 보여 주었습니다. PasteSpecial 방법에 대해 자세히 알아보려면 이 링크 를 방문하십시오.

결론

따라서 간단히 말해서 코드에서 런타임 오류 1004: PasteSpecial 메서드 od 범위 클래스 실패 가 발생할 수 있는 이유입니다. 모든 요점을 명확하게 이해하셨기를 바라며 앞으로 많은 도움이 될 것입니다. 다른 이유를 알고 있습니까? 문제가 있습니까? 부담 없이 문의하세요. 더 많은 게시물과 업데이트를 보려면 ExcelWIKI 사이트를 방문하는 것을 잊지 마십시오.

Hugh West는 업계에서 10년 이상의 경험을 가진 고도로 숙련된 Excel 트레이너이자 분석가입니다. 그는 회계 및 재무 학사 학위와 경영학 석사 학위를 보유하고 있습니다. Hugh는 교육에 대한 열정을 가지고 있으며 따라하기 쉽고 이해하기 쉬운 독특한 교수법을 개발했습니다. Excel에 대한 그의 전문 지식은 전 세계 수천 명의 학생과 전문가가 자신의 기술을 향상시키고 경력에서 탁월하도록 도왔습니다. Hugh는 자신의 블로그를 통해 자신의 지식을 전 세계와 공유하고 개인과 기업이 잠재력을 최대한 발휘할 수 있도록 무료 Excel 자습서 및 온라인 교육을 제공합니다.