Vba: 시트가 있는지 확인하는 방법(예제 포함)


VBA에서 다음 함수를 만들어 현재 활성 Excel 통합 문서에 특정 시트가 있는지 확인할 수 있습니다.

 Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

이 함수는 TRUE 또는 FALSE를 반환하여 현재 활성 Excel 통합 문서에 특정 시트 이름이 존재하는지 여부를 나타냅니다.

이 함수는 단순히 시트의 색인 번호가 0보다 큰지 확인합니다.

시트가 존재하는 경우 시트 색인 번호는 최소한 1 의 값을 가지며 함수는 TRUE 값을 반환합니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 시트가 존재하는지 확인

세 개의 시트가 포함된 다음 Excel 통합 문서가 있다고 가정합니다.

VBA에서 다음 함수를 만들어 이 통합 문서에 특정 시트 이름이 있는지 확인할 수 있습니다.

 Function sheetExists(some_sheet As String) As Boolean

On Error Resume Next
sheetExists = (ActiveWorkbook.Sheets(some_sheet).Index > 0)

End Function

그런 다음 현재 활성 시트의 A1 셀에 다음 수식을 입력하여 이 통합 문서에 시트 이름 “Teams”가 있는지 확인할 수 있습니다.

 =sheetExists("Teams")

다음 스크린샷은 실제로 이 수식을 사용하는 방법을 보여줍니다.

이 시트 이름이 통합 문서에 존재하므로 함수는 TRUE를 반환합니다.

또한 이 함수는 대소문자를 구분하지 않습니다.

예를 들어 시트 이름 “teams”가 존재하는지 확인하면 함수는 TRUE 도 반환합니다.

그러나 시트 이름 “coaches”가 존재하는지 확인한다고 가정해 보겠습니다.

이 시트 이름이 통합 문서에 존재하지 않으므로 함수는 FALSE를 반환합니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 통합 문서의 시트 수를 계산하는 방법
VBA: 다른 통합 문서에서 데이터를 추출하는 방법
VBA:여러 줄을 삽입하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다