차례:
비디오: 엑셀 시트 합치기, 아직도 손으로 하세요?! 버튼 클릭 1초면 끝! | 오빠두엑셀 퀵 VBA 3강 2024
때때로 Excel 통합 문서에서 현재 워크 시트를 제외한 모든 워크 시트를 삭제할 수 있습니다. 이러한 경우 다음 매크로를 사용할 수 있습니다.
매크로 작동 방식
매크로는 워크 시트를 반복하며 각 워크 시트 이름을 활성 시트의 이름과 일치시킵니다. 매크로가 반복 될 때마다 일치하지 않는 워크 시트가 삭제됩니다. 4 단계에서 DisplayAlerts 속성을 사용합니다. 이로 인해 Excel의 경고가 효과적으로 해제되므로 각 삭제를 확인하지 않아도됩니다.
Sub Macro1 () '1 단계: 변수를 워크 시트로 사용'2 단계: ThisWorkbook의 각 워크 시트를 반복합니다. 워크 시트 '3 단계: 각 워크 시트 이름 확인 ws. ThisWorkbook 이름 지정. 액티브 시트. Name Then Then '4 단계: 경고를 끄고 응용 프로그램을 삭제하십시오. DisplayAlerts = 틀린 ws. 응용 프로그램 삭제. DisplayAlerts = True End If 'Step 5: 다음 워크 시트로 루프 Next ws End Sub
매크로는 먼저 ws라는 객체를 선언합니다. 이 단계는 루프하는 각 워크 시트에 대한 메모리 컨테이너를 만듭니다.
2 단계에서 매크로가 반복되어 Excel에이 통합 문서의 모든 워크 시트를 평가합니다. ThisWorkbook과 ActiveWorkbook에는 차이가 있습니다. ThisWorkBook 개체는 코드가 포함 된 통합 문서를 참조합니다. ActiveWorkBook 개체는 현재 활성 통합 문서를 참조합니다. 이들은 종종 동일한 개체를 반환하지만 코드를 실행하는 통합 문서가 활성 통합 문서가 아닌 경우 다른 개체를 반환합니다. 이 경우 다른 통합 문서의 시트를 삭제하지 않아도되므로 ThisWorkBook을 사용합니다.
3 단계에서 매크로는 활성 시트 이름과 현재 루프되고있는 시트를 단순히 비교합니다.
4 단계에서 시트 이름이 다른 경우 매크로는 시트를 삭제합니다. 앞서 언급했듯이 DisplayAlerts를 사용하여 Excel에서 확인 확인을하지 않습니다. 시트를 삭제하기 전에 경고를 받으려면 응용 프로그램을 생략 할 수 있습니다. DisplayAlerts = False입니다. DisplayAlerts 문을 생략하면 표시된 메시지가 표시되므로 워크 시트 삭제 결정을 취소 할 수 있습니다.
5 단계에서 매크로가 다음 시트를 얻기 위해 다시 루프됩니다. 모든 시트가 평가 된 후 매크로가 끝납니다.
경고 메시지를 보려면 Display-Alerts 문을 생략하십시오.매크로 사용 방법
이 매크로를 구현하려면 표준 모듈에 복사하여 붙여 넣을 수 있습니다.
-
Alt + F11을 눌러 Visual Basic Editor를 활성화합니다.
-
프로젝트 창에서 프로젝트 / 통합 문서 이름을 마우스 오른쪽 단추로 클릭합니다.
-
삽입 → 모듈을 선택하십시오.
-
새로 생성 된 모듈에 코드를 입력하거나 붙여 넣습니다.
매크로에서 ActiveWorkbook 대신 ThisWorkbook을 사용하면 개인용 매크로 통합 문서에서 매크로를 실행할 수 없습니다. 왜? ThisWorkbook은 매크로가 적용되어야하는 통합 문서가 아니라 개인용 매크로 통합 문서를 참조하기 때문에.