✅ 1. 특정 시트가 존재하는지 확인하는 함수
Function IsSheet(시트이름 As String) As Boolean
Dim 시트 As Worksheet
On Error Resume Next
Set 시트 = ThisWorkbook.Sheets(시트이름)
On Error GoTo 0
IsSheet = Not 시트 Is Nothing
End Function
|
📌 시트가 존재하면 True 반환, 존재하지 않으면 False 반환
📌 오류 발생을 방지하기 위해 On Error Resume Next 사용
✅ 2. 특정 시트 존재 여부 확인 후 실행
Sub 시트존재여부확인()
Dim 시트이름 As String
시트이름 = "Sheet1"
If IsSheet(시트이름) Then
MsgBox 시트이름 & " 시트가 존재합니다!"
Else
MsgBox 시트이름 & " 시트가 존재하지 않습니다!"
End If
End Sub
|
📌 "Sheet1" 시트가 존재하면 메시지 출력, 없으면 다른 메시지 출력
✅ 3. 특정 시트가 없으면 생성
Sub 시트존재여부후_자동생성()
Dim 시트이름 As String
시트이름 = "NewSheet"
If Not IsSheet(시트이름) Then
ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)).Name = 시트이름
MsgBox 시트이름 & " 시트가 생성되었습니다!"
Else
MsgBox 시트이름 & " 시트가 이미 존재합니다!"
End If
End Sub
|
📌 해당 시트가 없으면 새 시트를 생성하고, 이미 존재하면 메시지 출력
✅ 4. 특정 시트 삭제 (존재 여부 확인 후)
Sub 시트삭제()
Dim 시트이름 As String
시트이름 = "Sheet1"
If IsSheet(시트이름) Then
Application.DisplayAlerts = False
ThisWorkbook.Sheets(시트이름).Delete
Application.DisplayAlerts = True
MsgBox 시트이름 & " 시트가 삭제되었습니다!"
Else
MsgBox 시트이름 & " 시트가 존재하지 않습니다!"
End If
End Sub
|
📌 시트가 존재할 경우 삭제 후 경고 메시지 비활성화(DisplayAlerts = False)
✅ 5. 모든 시트 목록 가져오기
Sub 모든시트출력()
Dim 시트 As Worksheet
Dim 시트목록 As String
For Each 시트 In ThisWorkbook.Sheets
시트목록 = 시트목록 & 시트.Name & vbNewLine
Next 시트
MsgBox "현재 존재하는 시트 목록:" & vbNewLine & 시트목록
End Sub
|
📌 현재 워크북에 존재하는 모든 시트 이름을 출력
📌 정리
기능
|
VBA 코드
|
시트 존재 여부 확인 함수
|
IsSheet(시트이름)
|
시트가 존재하면 메시지 출력
|
If IsSheet("Sheet1") Then MsgBox "존재함"
|
시트가 없으면 자동 생성
|
If Not IsSheet("NewSheet") Then Sheets.Add.Name = "NewSheet"
|
시트 삭제 (존재 시)
|
If IsSheet("Sheet1") Then Sheets("Sheet1").Delete
|
모든 시트 목록 출력
|
For Each ws In Sheets: MsgBox ws.Name: Next ws
|
🔥 VBA에서 IsSheet 함수를 직접 정의하여 원하는 시트가 존재하는지 쉽게 확인할 수 있습니다! 🚀