Bagaimana cara membuat lembar baru menggunakan kode vba?
Setelah Anda mulai mempelajari VBA, salah satu hal paling keren yang dapat Anda lakukan adalah menulis kode VBA untuk menyisipkan lembar kerja baru ke dalam buku kerja.
Nah, sudah ada shortcut key untuk menyisipkan worksheet baru atau bisa juga menggunakan pilihan biasa, namun kelebihan menggunakan kode VBA adalah Anda bisa menambahkan beberapa worksheet hanya dengan satu klik dan Anda juga bisa menentukan di mana Anda ingin menambahkan. dia.
Untuk ini, Anda perlu menggunakan metode Sheets.Add, dan dalam artikel ini, kita akan mempelajari cara menggunakannya untuk menambahkan satu atau lebih lembar kerja di buku kerja.
Spreadsheet. Tambahkan metode
Sheets.Add ([Before], [After], [Count], [Type])
- Sebelum: untuk menambahkan sheet baru sebelum sheet.
- After: Untuk menambahkan sheet baru sebelum sheet.
- Hitungan: jumlah lembar yang akan ditambahkan.
- Jenis: Jenis lembar yang ingin Anda tambahkan ( LINK )
Tulis kode VBA untuk menambahkan lembar baru ke buku kerja
Buka editor Visual Basic dan ikuti langkah-langkah berikut.
- Pertama, Anda harus memasukkan metode Sheets.Add.
- Selanjutnya, Anda perlu menentukan di mana menambahkan sheet baru (Sebelum atau Setelah).
- Selanjutnya adalah memasukkan jumlah lembar kerja.
- Pada akhirnya, jenis lembarannya.
Berbagai cara untuk menambahkan lembar baru di buku kerja menggunakan kode VBA
Berikut adalah berbagai cara untuk menambahkan lembar baru ke buku kerja:
1. Tambahkan satu lembar
Untuk menambahkan satu lembar, Anda dapat menggunakan kode di bawah ini, di mana Anda belum menentukan argumen apa pun.
Sub SheetAddExample1() ActiveWorkbook.Sheets.Add End Sub
Kode ini memberitahu Excel untuk menambahkan lembar kerja di buku kerja yang aktif, tetapi karena Anda tidak memiliki argumen, kode ini akan menggunakan default dan menambahkan lembar kerja (xlWorksheet) sebelum lembar aktif.
Berikut cara lain untuk menulisnya, lihat kode di bawah.
Sub SheetAddExample2() Sheets.Add End Sub
Karena Anda sudah berada di buku kerja aktif, Anda juga bisa menggunakan kode di bawah ini. Dia melakukan hal yang sama.
2. Tambahkan beberapa lembar
Untuk menambahkan beberapa lembar sekaligus, cukup atur argumen COUNT dengan jumlah lembar yang ingin Anda tambahkan.
Sub AddSheets3() Sheets.Add Count:=5 End Sub
Sekarang jumlah lembar yang Anda atur adalah 5, jadi ketika Anda menjalankan kode ini, lima lembar baru akan langsung ditambahkan ke dalam buku kerja.
3. Tambahkan lembar dengan nama
Jika Anda ingin mengganti nama sheet setelah menambahkannya, Anda dapat menggunakan kode berikut:
Sub AddNewSheetswithNameExample1() Sheets.Add.Name = "myNewSHeet" End Sub
Dalam kode di atas, kami telah menggunakan objek nama ( LINK ) yang membantu Anda menentukan nama sheet.
4. Tambahkan sheet dengan nama dari sel
Anda juga dapat mengambil nilai untuk digunakan sebagai nama sheet dari sel.
Sub AddNewSheetswithNameExample2() Sheets.Add.Name = Range("A1") End Sub
Pada kode di atas, sel A1 digunakan untuk mendapatkan nama sheet baru.
5. Tambahkan sheet setelah/sebelum sheet tertentu
Karena argumen ini sudah ada di Sheets.Add di mana Anda dapat menentukan sheet untuk menambahkan sheet baru sebelum atau sesudahnya.
Sub AddSheetsExample5() Sheets.Add Before:=Worksheets("mySheet") Sheets.Add After:=Worksheets("mySheet") End Sub
Sekarang pada kode di atas Anda memiliki dua baris kode yang Anda gunakan sebelum dan sesudah argumen dalam metode Sheet.Add. Jadi ketika Anda menjalankan kode ini, ia menambahkan dua lembar, satu sebelum dan satu lagi setelah “mySheet”.
6. Tambahkan sheet baru di awal
Dengan menggunakan argumen sebelum menggunakan, Anda juga bisa menambahkan lembar ke awal lembar yang Anda miliki di buku kerja.
Jadi pada dasarnya yang akan kita lakukan adalah menentukan nomor sheet, bukan nama sheet.
Sub AddSheetsExample6() Sheets.Add Before:=Sheets(1) End Sub
Pada kode di atas, Anda telah menggunakan nomor sheet (1) yang memberitahu VBA untuk menambahkan sheet sebelum sheet yang berada di posisi pertama di semua worksheet. Dengan cara ini sheet baru akan selalu ditambahkan di awal.
7. Tambahkan sheet baru di bagian akhir (setelah sheet terakhir)
Untuk menambahkan sheet baru di akhir, Anda perlu menulis kode dengan cara yang berbeda. Jadi untuk ini Anda perlu mengetahui berapa lembar yang ada di buku kerja agar Anda bisa menambahkan lembar baru di bagian akhir.
Sub AddSheetsExample8() Sheets.Add After:=Sheets(Sheets.Count) End Sub
Pada kode di atas, Sheet.Count mengembalikan jumlah lembar yang Anda miliki di buku kerja, dan karena Anda menyetel argumen setelahnya, maka lembar baru akan ditambahkan setelah lembar terakhir di buku kerja.
8. Tambahkan Beberapa Lembar dan Gunakan Nama Rentang
Kode berikut menghitung baris dalam rentang A1:A7. Setelah itu, loop menambahkan sheet berdasarkan jumlah rentang dan menggunakan nilai rentang untuk memberi nama sheet saat menambahkannya.
Sub AddSheetsExample9() Dim sheets_count As Integer Dim sheet_name As String Dim i As Integer sheet_count = Range("A1:A7").Rows.Count For i = 1 To sheet_count sheet_name = Sheets("mySheet").Range("A1:A7").Cells(i, 1).Value Worksheets.Add().Name = sheet_name Next i End Sub
Namun dengan kode di atas, kemungkinan nama sheet yang ingin Anda tambahkan sudah ada atau Anda memiliki sel kosong di range namanya.
Dalam hal ini, Anda perlu menulis kode yang dapat memeriksa apakah sheet dengan nama yang sama sudah ada atau belum dan apakah sel tempat Anda ingin mengambil nama sheet tersebut kosong atau belum.
Jika kedua kondisi tersebut terpenuhi maka lembar baru harus ditambahkan. Izinkan saya menjelaskannya dalam dua langkah:
Pertama-tama , Anda perlu menulis fungsi yang ditentukan pengguna Excel untuk memeriksa apakah lembar dengan nama yang sama sudah ada atau belum.
Function SheetCheck(sheet_name As String) As Boolean Dim ws As Worksheet SheetCheck = False For Each ws In ThisWorkbook.Worksheets If ws.Name = sheet_name Then SheetCheck = True End If Next End Function
Kedua, Anda perlu menulis beberapa kode menggunakan fungsi ini dan kode ini juga perlu memeriksa apakah sel nama kosong atau tidak.
Sub AddMultipleSheet2() Dim sheets_count As Integer Dim sheet_name As String Dim i As Integer sheet_count = Range("A1:A7").Rows.Count For i = 1 To sheet_count sheet_name = Sheets("mySheet").Range("A1:A10").Cells(i, 1).Value If SheetCheck(sheet_name) = False And sheet_name <> "" Then Worksheets.Add().Name = sheet_name End If Next i End Sub
Sekarang dalam kode di atas Anda telah menggunakan pernyataan VBA IF dan dalam pernyataan ini Anda memiliki fungsi pemeriksaan lembar yang memeriksa nama lembar dan kemudian Anda memiliki kondisi untuk memeriksa apakah sel nama memiliki nilai kosong.