한 통합 문서에서 4개의 시트를 새 통합 문서로 복사하고 다른 이름으로 저장하는 매크로가 있습니다.
불행하게도 내가 할 것인지 묻는 메시지 상자가 있습니다.이 많은 양의 데이터를 다른 응용 프로그램에서 사용할 수 있도록 만들고 싶습니다.이로 인해 이 자동화된 작업이 약간 수동화되었습니다.
클립보드 메시지 상자를 피하는 방법이나 자동으로 아니요라고 대답하는 방법에 대한 조언을 주시면 감사하겠습니다.
답변1
매크로를 수정하겠습니다. 매크로가 시작되면 경고를 끄고 매크로가 완료되면 다시 켜십시오. 즉 Application.DisplayAlerts = False
답변2
문제는 Application.DisplayAlerts = False
확인해야 할 경고가 숨겨질 수 있다는 것입니다.
Application.CutCopyMode = False
클립보드에서 큰 범위에 대한 링크를 제거하는 붙여넣기 후에 사용합니다 .
답변3
나는 Jon Peltier의 "문제 Application.DisplayAlerts = False
는 확인해야 할 경고를 숨길 수 있다는 것입니다." 라는 말에 동의합니다. 또한 Application.DisplayAlerts = True
작업이 완료된 후에 설정해야 한다는 것을 기억해야 합니다. 따라서 각 붙여넣기마다 3줄의 코드가 필요하며 프로그램이 중단되기 전에 프로그램이 중단되면 Application.DisplayAlerts = True
Excel을 종료할 때까지 자신도 모르게 경고가 꺼지게 됩니다.
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은 더 이상 잘라내기 또는 복사 모드가 아닙니다.