목차
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 사이트를 방문하는 것을 잊지 마십시오.