Contoh Macro Menggunakan Loop Susunan For...Next
Kali ini Anda akan belajar cara menyusun macro yang menggunakan loop susunan For...Next.
Ada dua buah macro yang akan Anda buat, macro pertama bervariabel jenis Integer yang bertugas menambahkan 12 worksheet ke dalam workbook, setiap worksheet diberi nama bulan kalender dari Januari sampai Desember dan ditempatkan sesuai dengan urutannya dari kiri ke kanan.
Adapun macro kedua memberi perintah untuk mengganti nama-nama bulan yang semula dalam format bahasa Inggris menjadi bahasa Indonesia menurut nama-nama yang ada di sel worksheet.
Cara Membuat 12 Sheet Nama-Nama Bulan dalam Kalender
Langsung saja ikuti langkah-langkah berikut:
1. Buka workbook baru dan tekan Alt+F1 untuk membuka VBE.
2. Buka menu Insert > Module.
3. Buat macro baru dengan mengetik:
4. Tetapkan variabel contohnya bulan dengan jenis data Integer untuk melakukan iterasi sebanyak dua belas kali, yang mana satu kali sama dengan satu bulan.
Dim bulan As Integer
5. Buka loop For...Next yang dimulai dari satu hingga dua belas.
6. Dengan menggunakan satu-garis perintah, Anda dapat menambahkan 12 sheet sesuai dengan urutannya.
Format(DateSerial(2021, bulan, 1), "MMM")
7. Statement Next untuk variabel bulan yang menghasilkan sheet sekaligus memberikan nama setiap sheetnya.
Kode macro lengkapnya adalah:
Dim bulan As Integer
For bulan = 1 To 12
Sheets.Add(After:=Sheets(Sheets.Count)).Name = _
Format(DateSerial(2021, bulan, 1), "MMM")
Next bulan
End Sub
Silakan uji coba macro Anda.
Cara Mengganti Nama-nama Sheet yang diambil dari Sel Excel
Setelah Anda berhasil menjalankan macro pertama di atas, pada Sheet1 Anda buat kolom pergantian nama sebelum dan sesudah, Kolom A berisi nama-nama sheet yang akan diganti disertai judul misalnya "Sebelum" di sel A1 dan kolom B nama-nama baru sheet seperti yang ditunjukkan pada contoh gambar di bawah ini.
Berikut ini langkah-langkah penyusunan kode macro kedua:
1. Buka kembali VBE dan pada module yang sama buat macro baru dengan mengetik:
2. Buat contoh variabel dengan jenis data Integer:
3. Tugaskan variabel dengan perintah:
a = ThisWorkbook.Worksheets.Count
4. Mulai menetapkan susunan loop For...Next:
For j = 2 To 13
5. Gunakan penghubung logis If untuk mengidentifikasi sel mana yang akan menjadi acuan:
Worksheets(i).Name = Worksheets("Sheet1").Cells(j, 2).Value
End If
6. Tutup susunan loop:
Next
7. Tempatkan kursor pada Sheet1 di sel A1 dengan perintah:
Worksheets("Sheet1").Cells(1, 1).Select
Kode lengkapnya seperti ini:
Dim a As Integer
a = ThisWorkbook.Worksheets.Count
For i = 1 To a
For j = 2 To 13
If Worksheets(i).Name = Worksheets("Sheet1").Cells(j, 1).Value Then
Worksheets(i).Name = Worksheets("Sheet1").Cells(j, 2).Value
End If
Next
Next
ThisWorkbook.Worksheets("Sheet1").Activate
Worksheets("Sheet1").Cells(1, 1).Select
End Sub
Itulah contoh macro dengan menggunakan loop For...Next selamat mempraktikkan dan semoga bermanfaat.

