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