Panduan25 September 2026 · 7 menit baca

Cara Membuat UserForm di Excel dengan VBA, Langkah demi Langkah

Panduan membuat UserForm VBA di Excel: dari mengaktifkan Developer, membuat form, menulis kode, sampai testing. Termasuk bagian yang biasanya membuat pemula mentok.

UserForm adalah jendela input khusus yang muncul saat Anda menekan tombol di Excel. Berbeda dengan mengisi sel langsung, data masuk lewat form dengan kolom yang sudah ditentukan, sudah divalidasi, dan sudah diformat. Untuk administrasi yang dipakai banyak orang, ini membuat data jauh lebih bersih sejak awal.

Mengaktifkan tab Developer

Tab Developer tidak muncul secara bawaan. Buka File, lalu Options, lalu Customize Ribbon, dan centang Developer. Setelah itu tab-nya muncul di ribbon atas.

Membuat form

  1. Buka Excel, tekan Alt+F11 untuk membuka editor VBA.
  2. Di menu Insert, pilih UserForm. Form baru muncul di panel kiri.
  3. Gunakan Toolbox untuk menambahkan kontrol: TextBox untuk isian, ComboBox untuk pilihan, CommandButton untuk tombol.
  4. Atur properti Name setiap kontrol dengan nama yang jelas, misalnya txtNama, txtTanggal, cmdSimpan. Nama bawaan seperti TextBox1 bikin kacau saat kodenya sudah panjang.
  5. Ganti teks tombol menjadi Simpan, dan beri label yang jelas di samping setiap kolom.

Menulis kode

Setiap UserForm punya Initialize, yang dipanggil saat form dibuka. Di sinilah Anda biasanya mengisi ComboBox dengan daftar pilihan. Peristiwa klik tombol disimpan di kode di balik form itu sendiri.

Private Sub UserForm_Initialize()
    ' Isi ComboBox dari daftar yang sudah disiapkan
    With Me.cmbKategori
        .Clear
        .AddItem "Operasional"
        .AddItem "Administrasi"
        .AddItem "Pemasaran"
    End With
End Sub

Private Sub cmdSimpan_Click()
    Dim ws As Worksheet
    Dim barisTerakhir As Long

    ' Validasi: nama tidak boleh kosong
    If Trim(Me.txtNama.Text) = "" Then
        MsgBox "Nama wajib diisi.", vbExclamation, "Data belum lengkap"
        Me.txtNama.SetFocus
        Exit Sub
    End If

    ' Validasi: tanggal harus terisi dan boleh dikonversi
    If Not IsDate(Me.txtTanggal.Text) Then
        MsgBox "Tanggal tidak valid.", vbExclamation, "Data belum lengkap"
        Me.txtTanggal.SetFocus
        Exit Sub
    End If

    Set ws = ThisWorkbook.Sheets("Data")
    barisTerakhir = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1

    ws.Cells(barisTerakhir, 1).Value = Me.txtNama.Text
    ws.Cells(barisTerakhir, 2).Value = CDate(Me.txtTanggal.Text)
    ws.Cells(barisTerakhir, 3).Value = Me.cmbKategori.Value

    MsgBox "Tersimpan di baris " & barisTerakhir, vbInformation
    Me.txtNama.Text = ""
    Me.txtTanggal.Text = ""
    Me.txtNama.SetFocus
End Sub

Menjalankan form

Untuk menjalankan form, tekan tombol Run di editor VBA atau tekan F5. Untuk memanggil form dari tombol di sheet, gunakan kode pendek berikut di belakang tombolnya.

Private Sub btnBukaForm_Click()
    UserForm1.Show
End Sub

Kalau Anda butuh ini untuk pekerjaan nyata

Membuat form pertama memang bisa membingungkan, tapi membangun form yang benar-benar dipakai tim dengan banyak aturan validasi, format tanggal yang beragam, dan laporan yang langsung jadi jauh lebih besar. Kalau kebutuhan Anda sudah seperti itu, lebih baik dikerjakan sekali dengan benar daripada dirakit sendiri berkali-kali.

Pertanyaan yang sering muncul

Kenapa tab Developer tidak muncul di Excel saya?
Tab Developer tidak aktif secara bawaan. Buka File, lalu Options, lalu Customize Ribbon, dan centang Developer di daftar sebelah kanan. Setelah itu tabnya muncul di ribbon.
Kenapa UserForm saya hilang setelah berkas disimpan?
Kemungkinan berkasnya disimpan sebagai .xlsx, yang memang tidak bisa menyimpan macro maupun UserForm. Simpan sebagai Excel Macro-Enabled Workbook (.xlsm) lewat Save As.
Apakah UserForm bisa dipakai di komputer lain?
Bisa, selama komputernya memakai Excel di Windows dan makronya diizinkan. Sertakan panduan singkat cara mengaktifkan makro, karena komputer kantor sering memblokirnya secara bawaan.
Kenapa kode VBA saya berubah sendiri hurufnya?
Itu normal. Editor VBA otomatis menyeragamkan kapitalisasi nama perintah dan variabel yang sudah dikenalinya. Kalau ada yang berubah dan malah error, berarti ada nama yang salah ketik sejak awal.

Butuh bantuan untuk masalah Anda sendiri?

Konsultasi gratis, tanpa ikatan. Jelaskan kebutuhan Anda, dan kami bantu tentukan pendekatan yang paling masuk akal, termasuk kalau jawabannya ternyata tidak perlu diotomasi.

Cookie & analitik

Situs ini memakai Google Analytics untuk mengukur dari mana calon pelanggan menemukan kami. Tidak ada cookie iklan atau pelacakan lintas situs. Rincian di Kebijakan Privasi.