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:여러 줄을 삽입하는 방법