Bagaimana cara memeriksa apakah suatu lembar ada menggunakan vba?
Jika Anda ingin membuat sebuah sheet, menghapusnya, memindahkannya atau menyalinnya, Anda perlu mengetahui apakah sheet tersebut ada atau tidak.
Untuk menulis kode guna memeriksa apakah lembar tersebut ada atau tidak, Anda memerlukan perulangan yang melewati setiap lembar di buku kerja dan cocok dengan nama yang Anda berikan. Namun masalahnya, Anda dapat menggunakan dua loop berbeda untuk ini ( For Next dan For Each ), dan hari ini kita akan menggunakan keduanya.
Dalam tutorial ini, kita akan melihat berbagai cara untuk melakukan ini. Jadi pastikan Anda memiliki tab Pengembang di pita Anda dan buka editor VBA untuk menulis kode ini.
Periksa apakah ada lembar di buku kerja saat ini
Dengan perulangan ini, Anda bisa mereferensikan semua lembar di buku kerja dan mengulanginya satu per satu untuk mencocokkan nama lembar dengan nama lembar yang ingin Anda cari.
Ikuti langkah ini:
- Pertama, deklarasikan variabel yang akan digunakan pada sheet saat menjalankan loop dan untuk menyimpan nama sheet yang ingin Anda cari.
- Selanjutnya, tulis sebaris kode kotak input untuk memasukkan nama sheet yang ingin dicari.
- Setelah itu, mulailah loop Anda dengan kata kunci For Each. Dan gunakan variabel untuk merujuk ke setiap lembar kerja di buku kerja.
- Dari sini, Anda perlu menulis pernyataan IF THEN ELSE untuk mencocokkan nama sheet dengan nama yang Anda masukkan di kotak input, kemudian menampilkan kotak pesan jika kecocokan ditemukan dan keluar dari prosedur.
- Pada akhirnya, kotak pesan untuk memberi tahu Anda jika tidak ditemukan kecocokan.
Tautan yang berguna: Jalankan makro – Perekam makro – Editor Visual Basic – Buku Pegangan Makro Pribadi
Kode lengkap:
Sub vba_check_sheet() Dim sht As Worksheet Dim shtName As String shtName = InputBox(Prompt:="Enter the sheet name", _ Title:="Search Sheet") For Each sht In ThisWorkbook.Worksheets If sht.Name = shtName Then MsgBox "Yes! " & shtName & " is there in the workbook." Exit Sub End If Next sht MsgBox "No! " & shtName & "is not there in the workbook." End Sub
Izinkan saya menjelaskan cara kerjanya: Saat Anda menjalankan kode ini, sebuah pesan akan muncul di mana Anda harus memasukkan nama sheet yang ingin Anda cari.
Setelah itu, ia menelusuri setiap lembar untuk mencocokkan nama dengan nama yang Anda masukkan, dan jika nama tersebut cocok dengan satu lembar, ia akan menampilkan satu pesan dan pesan lain jika tidak ada yang cocok.
Berikut adalah kode lain untuk memeriksa apakah suatu sheet ada atau tidak.
Sub vba_check_sheet() Dim sht As Worksheet Dim shtName As String Dim i As Long i = Sheets.Count shtName = InputBox(Prompt:="Enter the sheet name", _ Title:="Search Sheet") For i = 1 To i If Sheets(i).Name = shtName Then MsgBox "Yes! " & shtName & " is there in the workbook." Exit Sub End If Next i MsgBox "No! " & shtName & " is not there in the workbook." End Sub
Kode ini menggunakan perulangan FOR NEXT dan menggunakan jumlah total lembar dalam buku kerja, dan berdasarkan itu, perulangan setiap lembar yang cocok dengan nama dengan nama yang Anda masukkan.
Periksa apakah lembar ada di buku kerja tertutup
Dalam kode berikut, Anda memiliki perulangan yang mencari nama lembar di buku kerja tertutup. Untuk merujuk ke file, kami menggunakan alamat file.
Sub vba_check_sheet() Dim wb As Workbook Dim sht As Worksheet Dim shtName As String shtName = InputBox(Prompt:="Enter the sheet name", _ Title:="Search Sheet") Application.ScreenUpdating = False Set wb = Workbooks.Open _ ("C:UsersDellDesktopsample-file.xlsx") For Each sht In wb.Worksheets If sht.Name = shtName Then wb.Close SaveChanges:=True MsgBox "Yes! " & shtName & " is there in the workbook." _ , vbInformation, "Found" Exit Sub End If Next sht Application.ScreenUpdating = False MsgBox "No! " & shtName _ & " is not there in the workbook.", _ vbCritical, "Not Found" End Sub
Saat Anda menjalankan makro ini, makro ini akan membuka file di belakang saat Anda menonaktifkan pembaruan layar, dan setelah makro ini menelusuri semua lembar, Anda memiliki kode untuk mengaktifkan pembaruan layar. ‘layar.
Catatan: Seperti yang Anda lihat, di alamat lokasi file kami memiliki ekstensi file, yang berarti Anda harus memiliki ekstensi file yang benar untuk merujuknya.