VBA에 시트가 있는지 확인합니다

Iqra Hasnain 2023년1월30일
  1. 시트가 VBA에 있는지 확인
  2. VBA의 닫힌 통합 문서에 시트가 있는지 확인
VBA에 시트가 있는지 확인합니다

Excel에서 VBA를 사용하여 시트가 있는지 확인하는 방법을 소개합니다.

시트가 VBA에 있는지 확인

여러 시트에서 작업하는 동안 일부 중복 시트가 있거나 중복 시트를 만드는 것을 방지하고 싶을 수 있습니다. 이를 위해 VBA를 사용하여 시트를 만들려는 동일한 이름의 시트가 있는지 확인할 수 있습니다.

시트가 존재하는지 확인하려면 통합 문서의 각 시트와 함께 루프가 필요하고 우리가 만든 이름을 비교합니다. 우리는 두 개의 루프를 사용할 것입니다. 하나는 For each loop이고 두 번째는 If Else 문이 됩니다.

먼저 두 개의 변수를 만듭니다. 하나는 워크시트를 저장하고 두 번째 변수는 중복을 찾거나 이 이름의 시트가 있는지 확인하려는 시트 이름을 저장합니다. for 루프를 사용하여 폴더의 모든 파일을 살펴보고 if-else 문을 사용하여 시트 이름이 다른 시트와 같은 이름으로 존재하는지 확인합니다.

동일한 이름의 파일이 존재하는 경우 시트가 존재한다는 메시지 상자가 표시됩니다. 그렇지 않으면 시트가 존재하지 않는다는 메시지 상자가 표시됩니다.

암호:

#VBA
Sub sheetCheck()

Dim sheet As Worksheet
Dim Name As String

Name = "Sheet1"

For Each sheet In ThisWorkbook.Worksheets

    If sheet.Name = Name Then

            MsgBox "Yes! " & Name & " is there in the workbook."
            Exit Sub

    End If

Next sheet

MsgBox "No! " & Name & "is not there in the workbook."

End Sub

출력:

체크시트가 있는지 없는지

sheet1을 검색했을 때 동일한 이름의 시트가 이미 존재한다는 긍정적인 응답을 받았습니다.

VBA의 닫힌 통합 문서에 시트가 있는지 확인

닫혀 있거나 이미 작업한 Excel 파일의 시트를 확인하려는 경우도 있습니다. 위의 예에서 사용한 것처럼 If else 문과 함께 VBA 및 For each 루프를 사용하여 파일을 열어 닫힌 Excel 파일의 시트를 확인할 수도 있습니다.

닫힌 엑셀 파일에서 시트를 확인해보자.

암호:

#VBA
Sub checkSheet()

Dim book As Workbook
Dim sheet As Worksheet
Dim Name As String

Name = "Sheet1"

Application.ScreenUpdating = False

Set book = Workbooks.Open _
("C:\Users\Hp9470\Documents\Book2.xlsx")

For Each sheet In book.Worksheets

    If sheet.Name = Name Then

        book.Close SaveChanges:=True
        MsgBox "Yes! Sheet Exists"
        Exit Sub

    End If

Next sheet

Application.ScreenUpdating = False

MsgBox "No! Sheet doesn't exists"

End Sub

출력:

닫힌 Excel 시트에 시트가 있는지 여부 확인

시트는 열기 기능을 사용하여 액세스한 닫힌 엑셀 파일에 존재합니다. 이런 식으로 이름 방식을 사용하여 시트에 대해 열려 있는 파일과 닫힌 파일을 모두 확인할 수 있습니다.