Skip to content Skip to sidebar Skip to footer

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:

Sub BuatSheetNamaBulan()

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.

For bulan = 1 To 12

6. Dengan menggunakan satu-garis perintah, Anda dapat menambahkan 12 sheet sesuai dengan urutannya.

Sheets.Add(After:=Sheets(Sheets.Count)).Name = _
Format(DateSerial(2021, bulan, 1), "MMM")

7. Statement Next untuk variabel bulan yang menghasilkan sheet sekaligus memberikan nama setiap sheetnya.

Next bulan

Kode macro lengkapnya adalah:

Sub BuatSheetNamaBulan()
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:

Sub GantiNamaTiapSheetBulan()

2. Buat contoh variabel dengan jenis data Integer:

Dim a As Integer

3. Tugaskan variabel dengan perintah:

a = ThisWorkbook.Worksheets.Count

4. Mulai menetapkan susunan loop For...Next:

For i = 1 To a
For j = 2 To 13

5. Gunakan penghubung logis If untuk mengidentifikasi sel mana yang akan menjadi acuan:

If Worksheets(i).Name = Worksheets("Sheet1").Cells(j, 1).Value Then
Worksheets(i).Name = Worksheets("Sheet1").Cells(j, 2).Value
End If

6. Tutup susunan loop:

Next
Next

7. Tempatkan kursor pada Sheet1 di sel A1 dengan perintah:

ThisWorkbook.Worksheets("Sheet1").Activate
Worksheets("Sheet1").Cells(1, 1).Select

Kode lengkapnya seperti ini:

Sub GantiNamaTiapSheetBulan()
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.