Excel에서 대량의 데이터를 복사할 때 클립보드 메시지 상자를 방지하려면 어떻게 해야 합니까?

Excel에서 대량의 데이터를 복사할 때 클립보드 메시지 상자를 방지하려면 어떻게 해야 합니까?

한 통합 문서에서 4개의 시트를 새 통합 문서로 복사하고 다른 이름으로 저장하는 매크로가 있습니다.

불행하게도 내가 할 것인지 묻는 메시지 상자가 있습니다.이 많은 양의 데이터를 다른 응용 프로그램에서 사용할 수 있도록 만들고 싶습니다.이로 인해 이 자동화된 작업이 약간 수동화되었습니다.

클립보드 메시지 상자를 피하는 방법이나 자동으로 아니요라고 대답하는 방법에 대한 조언을 주시면 감사하겠습니다.

답변1

매크로를 수정하겠습니다. 매크로가 시작되면 경고를 끄고 매크로가 완료되면 다시 켜십시오. 즉 Application.DisplayAlerts = False

답변2

문제는 Application.DisplayAlerts = False확인해야 할 경고가 숨겨질 수 있다는 것입니다.

Application.CutCopyMode = False클립보드에서 큰 범위에 대한 링크를 제거하는 붙여넣기 후에 사용합니다 .

답변3

나는 Jon Peltier의 "문제 Application.DisplayAlerts = False는 확인해야 할 경고를 숨길 수 있다는 것입니다." 라는 말에 동의합니다. 또한 Application.DisplayAlerts = True작업이 완료된 후에 설정해야 한다는 것을 기억해야 합니다. 따라서 각 붙여넣기마다 3줄의 코드가 필요하며 프로그램이 중단되기 전에 프로그램이 중단되면 Application.DisplayAlerts = TrueExcel을 종료할 때까지 자신도 모르게 경고가 꺼지게 됩니다.

Application.CutCopyMode = False붙여넣기 후에 그의 제안을 테스트했는데 잘 작동합니다. 다음은 다음의 예입니다 someSpreadsheet.xls.

Workbooks.OpenText Filename:="someDirectory\someFile.txt", _
    DataType:=xlDelimited, TextQualifier:=xlNone, _
    Tab:=True
Cells.Select
Selection.Copy
Windows("someSpreadsheet.xls").Activate
ActiveSheet.Paste
Application.CutCopyMode = 0
Windows("someFile.txt").Activate
ActiveWorkbook.Close

답변4

이에 관한 MS 문서를 찾았습니다. 이 문제를 해결하려면 매크로에서 몇 가지 다른 프로그래밍 솔루션을 사용할 수 있는 것 같습니다. 이는 클립보드에 정확히 무엇을 복사하는지에 따라 다릅니다.KB # 287392

관련 부분은 다음과 같습니다.

방법 2: CutCopyMode 종료
Visual Basic for Application 매크로를 사용하여 셀을 자르거나 복사하는 경우 통합 문서를 닫는 줄 바로 앞에 다음 줄을 삽입합니다.

workbook.Application.CutCopyMode = False

여기서 "통합 문서"는 통합 문서 개체입니다.

참고: CutCopyMode를 True 또는 False로 설정하면 Excel에서 잘라내기 또는 복사 모드가 취소될 수 있습니다.

방법 3: 통합 문서
저장 VBA 매크로를 사용하여 셀을 자르거나 복사하는 경우 통합 문서를 닫는 줄 바로 앞에 다음 줄을 삽입합니다.

workbook.Save

여기서 "통합 문서"는 통합 문서 개체입니다. 통합 문서를 저장할 때 Excel은 더 이상 잘라내기 또는 복사 모드가 아닙니다.

관련 정보