Menguasai VBA di Excel 365 – Cara Membuat Macro dengan Mudah

Contoh Macro Sederhana: Menghitung Gaji dan Memformat Sel.

Sub Calculate_Salary()
    Dim wage As Single
    Dim hours As Single
    Dim salary As Single

    wage = Range(“A1”).Value
    hours = Range(“A2”).Value

    salary = wage * hours

    MsgBox “Your salary is “ & salary, vbInformation, “Salary Calculation”

    Range(“A3”).Value = salary

    With Range(“A1:A3”)
        .Font.Bold = True
        .Interior.Color = RGB(144, 238, 144) ' Latar belakang hijau muda
    End With
End Sub

Penjelasan Kode:

  • Dim wage As Single: Ini adalah deklarasi variabel wage (upah) dengan tipe data Single.
  • Dim hours As Single: Ini adalah deklarasi variabel hours (jam kerja) dengan tipe data Single.
  • salary = wage * hours: Di sini, total gaji dihitung dengan mengalikan upah dan jam kerja.
  • MsgBox: Hasil perhitungan gaji akan ditampilkan melalui kotak pesan (Message Box).
  • Range(“A3”).Value = salary: Hasil perhitungan gaji disimpan di sel A3.
  • With Range(“A1:A3”): Sel A1 hingga A3 akan diformat dengan teks tebal dan latar belakang berwarna hijau muda (RGB(144, 238, 144)).

Hasil yang Diharapkan:

  • Anda akan memasukkan nilai upah di A1 dan jam kerja di A2.
  • Saat macro dijalankan, gaji akan dihitung secara otomatis dan ditampilkan di sel A3.
  • Hasil gaji juga akan muncul di Message Box.
  • Sel A1 hingga A3 akan diformat dengan teks tebal dan warna latar belakang hijau muda.

Menggunakan For…Next Loop dalam Macro

Dengan memanfaatkan struktur For…Next Loop, Anda dapat mengotomatisasi pengisian sel di lembar kerja Excel dengan data tertentu. For…Next Loop memungkinkan Anda untuk melakukan iterasi melalui baris atau kolom dalam rentang yang ditentukan, sehingga sangat efektif untuk mengulang tugas dalam pengisian data.

Contoh: Mengisi Rentang Sel dengan Hasil Penjumlahan Baris dan Kolom

Berikut adalah contoh macro yang memanfaatkan For…Next Loop untuk mengisi rentang sel A1:E10 dengan nilai yang dihasilkan dari penjumlahan antara nomor baris dan nomor kolom.

Sub Fill_Cells_With_Loop()
    Dim i As Integer, j As Integer
    For i = 1 To 10
        For j = 1 To 5
            Cells(i, j).Value = i + j
        Next j
    Next i

    With Range(“A1:E10”)
        .Font.Bold = True
        .Interior.Color = RGB(224, 255, 255)
    End With
End Sub

Penjelasan Kode:

  • For i = 1 To 10: Loop pertama untuk iterasi melalui baris, dari 1 hingga 10 (baris 1 sampai 10).
  • For j = 1 To 5: Loop kedua untuk iterasi melalui kolom, dari 1 hingga 5 (kolom A hingga E).
  • Cells(i, j).Value = i + j: Mengisi sel dengan hasil penjumlahan antara nomor baris (i) dan nomor kolom (j).
  • With Range(“A1:E10”): Memformat sel A1 hingga E10 dengan teks tebal dan latar belakang berwarna biru muda.

Menggunakan Fungsi Chr() untuk Membuat Karakter

Fungsi Chr() dalam VBA berfungsi untuk menghasilkan karakter yang sesuai dengan kode ASCII. Kode ASCII adalah angka yang mewakili karakter dalam sistem komputer. Contohnya, kode 65 menunjukkan huruf A, sedangkan kode 66 menunjukkan huruf B, dan seterusnya.

Anda dapat memanfaatkan Fungsi Chr() untuk membuat makro yang mengisi sel dengan karakter yang dihasilkan dari kode ASCII, baik secara acak maupun tertentu.

Contoh: Mengisi Rentang Sel dengan Karakter Acak Menggunakan Fungsi Chr()

Sub Fill_Cells_With_Random_Characters()
    Dim i As Integer, j As Integer
    Dim asciiCode As Integer

    For i = 1 To 5
        For j = 1 To 5
            asciiCode = Int(26 * Rnd) + 65
            Cells(i, j).Value = Chr(asciiCode)
        Next j
    Next i

    With Range(“A1:E5”)
        .Font.Bold = True
        .Interior.Color = RGB(255, 228, 196)
    End With
End Sub

Penjelasan Kode:

  • Dim asciiCode As Integer: Mendeklarasikan variabel untuk menyimpan kode ASCII.
  • Int(26 * Rnd) + 65: Menghasilkan bilangan acak antara 65 dan 90. Kode 65 adalah A dalam ASCII, dan kode 90 adalah Z.
  • Rnd menghasilkan bilangan acak antara 0 dan 1.
  • 26 * Rnd menghasilkan bilangan antara 0 dan 25, lalu ditambah 65 untuk mendapatkan kode ASCII antara 65 (A) dan 90 (Z).
  • Cells(i, j).Value = Chr(asciiCode): Mengisi sel dengan karakter yang dihasilkan oleh Chr() berdasarkan kode ASCII.
  • With Range(“A1:E5”): Memformat rentang sel A1:E5 dengan teks tebal dan latar belakang berwarna peach (RGB(255, 228, 196)).

Artikel Terbaru