작업을 수행하는 데 적합한 VBA 명령을 알고있는 경우 대부분의 Excel 명령을 매크로 내에서 사용할 수 있습니다. 다음 매크로 명령을 사용하여 활성 워크 시트를 삭제할 수 있습니다.

ActiveSheet.Delete

매크로에서 명령을 실행하면 Excel에서 매크로가 일시 중지되고 워크 시트를 삭제할 것인지 묻는 메시지가 나타납니다.

예를 클릭하면 워크 시트가 삭제되고 매크로가 다시 시작됩니다.

물론 매크로의 기본 개념은 정기적으로 수행하는 많은 작업을 자동화하는 것입니다. 중지하고 확인을 요청하는 것이 안전한 방법 일 수 있지만 자동화의 원인을 돕지는 않습니다. 워크 시트를 일시 중지없이 삭제하려면 몇 가지 작업을 수행 할 수 있습니다. 먼저 SendKeys 메서드를 사용하여 확인 대화 상자에서 예를 클릭하는 것과 동일한 Enter 키 누르기를 시뮬레이션 할 수 있습니다. 워크 시트를 삭제하는 줄 앞에 한 줄을 추가하기 만하면됩니다.

Application.SendKeys ("{ENTER}")

ActiveSheet.Delete

SendKeys는 키보드에서 입력 한 것처럼 키보드 버퍼에 키 누름을 넣는 것 외에는 아무것도하지 않습니다. 따라서 SendKeys 행이 Delete 행 앞에 와야 Enter 키 누름이 필요하기 전에 버퍼에있게됩니다.

오랜 매크로 개발자라면 SendKeys 사용과 관련된 몇 가지 잠재적 인 문제를 지적 할 수 있습니다. 주된 문제는 확인 대화 상자와 해당 대화 상자에서만 예 옵션을 수락하도록 지정할 수 없다는 점입니다. 그러나 다른 대화 상자 (아마도 다른 프로그램에 의해 생성 된 대화 상자)가 적절한 시간에 팝업되면 Enter 키를 누르면 예상 한 대화 상자가 아닌 해당 대화 상자에 적용됩니다.

더 나은 해결책은 Excel의 경고 기능을 잠시 끄는 것입니다. 다음 매크로 코드를 고려하십시오.

Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True

이 코드는 경고를 끄고 워크 시트를 삭제 한 다음 경고를 다시 켭니다. 꺼져있는 동안 Excel은 확인 대화 상자를 표시하지 않지만 표시되고 기본 옵션 (예)이 선택된 것처럼 작동합니다.

여기에 표시된 코드의 마지막 줄을 기억하는 것이 중요합니다. DisplayAlerts 속성을 다시 True로 설정하지 않으면 매크로가 종료 된 후에도 Excel에서 더 이상 경고 메시지를 표시하지 않습니다. 이것은 당신이 상상할 수 있듯이 문제를 일으킬 수 있습니다. 경고를 해제해야하는 짧은 시간 동안 만 False로 설정하는 것이 가장 좋습니다.

DisplayAlerts가 False로 설정된 경우에도 오류 메시지가 생성되면 계속 표시됩니다. 예를 들어 위 코드를 실행하고 통합 문서에 워크 시트가 하나만있는 경우에도 오류 메시지가 표시됩니다. (이는 통합 문서의 마지막 워크 시트를 삭제할 수 없기 때문에 발생합니다.)

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (2293)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다.