Làm cách nào để kiểm tra xem một trang tính có tồn tại bằng VBA không?

Trong khi làm việc trên nhiều trang tính, có thể có một số trang tính trùng lặp hoặc chúng tôi có thể muốn tránh tạo bất kỳ trang tính trùng lặp nào. Với mục đích này, chúng tôi có thể sử dụng VBA để kiểm tra xem có bất kỳ trang tính nào có cùng tên mà chúng tôi có thể muốn tạo một trang tính không

Để kiểm tra xem trang tính có tồn tại hay không, chúng tôi yêu cầu một vòng lặp cùng với từng trang tính trong sổ làm việc và so sánh các tên chúng tôi đã tạo. Chúng tôi sẽ sử dụng hai vòng lặp;

Đầu tiên, chúng ta sẽ tạo hai biến. một cái sẽ lưu trữ trang tính và cái thứ hai sẽ lưu tên của trang tính mà chúng tôi muốn tìm kiếm các bản sao hoặc kiểm tra xem trang tính có tên này có tồn tại không. Chúng ta sẽ sử dụng vòng lặp for để duyệt qua tất cả các tệp trong một thư mục và câu lệnh if-else để kiểm tra xem tên của trang tính có trùng tên với trang tính kia không

Nếu tệp tồn tại cùng tên, chúng tôi sẽ hiển thị hộp thông báo cho biết rằng trang tính tồn tại. Nếu không, hộp thông báo sẽ hiển thị rằng trang tính không tồn tại

Mã số

#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

đầu ra

Phương pháp 1

Sổ làm việc này có ba trang tính. Tên của các trang tính là “Input”, “Tmp” và “Output”. Giả sử chúng ta muốn kiểm tra xem trang tính “Tmp” có tồn tại bên trong sổ làm việc này không. Đây là chức năng đầu tiên bạn có thể sử dụng để kiểm tra xem

Function IsSheetExist[WB dưới dạng sổ làm việc, tên trang tính dưới dạng chuỗi] dưới dạng Boolean

     Làm mờ WS dưới dạng trang tính

  Đối với mỗi WS trong WB. Trang tính
          If StrComp[SheetName, WS. Name, vbTextCompare] = 0 Sau đó
              IsSheetExist = True
              Thoát chức năng
           Kết thúc Nếu
     Next WS

End Function

Và đây là cách bạn có thể gọi hàm này từ chương trình con

Sub Test_1[]

     Làm mờ WB_Data dưới dạng Sổ làm việc
     Làm mờ kết quả dưới dạng Boolean

     Đặt WB_Data = ActiveWorkbook

Chủ Đề