Mudah Membuat Form Login Menggunakan VBA Excel + Video Tutorial

Mungkin anda akan memerlukan form login untuk melindungi privasi data excel anda. Privasi yang dimaksud dapat terlindungi dengan membangun proteksi lewat VBA Excel. Meskipun sebenarnya Microsoft Excel sudah menyediakan proteksi manual agar tidak terjadi pencurian data maupun pembukaan data anda yang mendandung privasi.

Nah, seperti judul diatas, saya akan mencoba menjelaskan cara membuat form login sederhana pada Microsoft Excel. Kali ini saya akan membuat aplikasi proteksi workbook yang mana setiap user harus memasukkan data login terlebih dahulu agar bisa mengakses data tersebut.

Ikuti langkah-langkah mudah dibawah ini:
  1. Jalankan Microsoft Excel.
  2. Simpan workbook dalam format ekstensi Excel Macro Enabled (*xlsm).
  3. Langsung saja buka Alt + F11 untuk menampilkan code editor VBA, atau klik perintah View Code di Menu Developer.
  4. Buat sebuah UserForm dengan ketentuan form dibawah ini. Ubah nama UserForm-nya menjadi frmLogin.
    • 2 buah label dan ganti kedua caption-nya menjadi Nama User dan Kata Sandi.
    • 2 buah textbox dan ganti nama-nya (name) menjadi txtUser dan txtPass.
    • 1 Command Button dengan nama cmdLogin dan caption Masuk.
  5. Susunlah label, textbox dan juga button seperti gambar dibawah ini:
    desain form vba excel
    Anda dapat mendesainnya sesua anda



  6. Klik kanan pada UserForm, pilih View Code, hapus semua baris kode yang ada dan gantikan dengan kode berikut: Private Sub cmdLogin_Click()
    Dim strUser, strPass As String
    strUser = "admin"
    strPass = "admin"
    If txtUser.Value = "" Then
        MsgBox "Silahkan Masukkan Nama User", _
        vbExclamation + vbOKOnly, "Nama User tidak boleh kosong"
        txtUser.SetFocus
        Exit Sub
    ElseIf txtPass.Value = "" Then
        MsgBox "Silahkan Masukkan Kata Sandi", _
        vbExclamation + vbOKOnly, "Kata Sandi tidak boleh kosong"
        txtPass.SetFocus
        Exit Sub
    ElseIf txtUser.Value <> strUser Then
        MsgBox "Nama User '" & txtUser & "' tidak terdaftar", _
        vbCritical + vbOKOnly, "Terjadi kesalahan"
        txtUser.SetFocus
        Exit Sub
    ElseIf txtPass.Value <> strPass Then
        MsgBox "Kata sandi Salah, Silahkan ulangi lagi", _
        vbCritical + vbOKOnly, "Terjadi kesalahan"
        txtPass.SetFocus
        Exit Sub
    End If
    MsgBox "Selamat Anda berhasil Login", _
        vbInformation + vbOKOnly, "Login berhasil!"
    Me.Hide
    Sheets(1).Range("A1").Activate
    End Sub

    Private Sub UserForm_Terminate()
    Application.Quit
    End Sub
  7. Agar UserForm muncul ketika workbook dibuka, tambahkan script berikut ke dalam kode Workbook anda (This Workbook).
    Private Sub Workbook_Open()
    Sheets(1).Range("A1048576").Select
    frmLogin.Show
    End Sub
  8. Jalankan form tersebut dengan menekan tombol F5 atau gunakan tombol Run Macro pada toolbar, kemudian lihat hasilnya.

Penjelasan kode VBA diatas:

Private Sub cmdLogin_Click()
...
End Sub

kode diatas maksudnya adalah bahwa program ... akan berjalan ketika tombol cmdLogin diklik.
If txtUser.Text = "" Then
    MsgBox "Silahkan Masukkan Nama User", _
    vbExclamation + vbOKOnly, "Nama User tidak boleh kosong"
    txtUser.SetFocus
    Exit Sub
...

Penggunaan If dan Else untuk memberikan conditioning atau persyaratan. Kode diatas berfungsi untuk memberikan persyaratan jika nilai txtUser adalah "" (kosong), maka akan memunculkan pesan (MsgBox).

Berlaku juga dengan kode ElseIf, yang akan menciptakan percabangan lagi, dan setiap kode yang syaratnya terpenuhi maka akan dijalankan.
Private Sub UserForm_Terminate()
Application.Quit
End Sub

Kode diatas adalah perintah untuk mengakhiri aplikasi (termasuk workbook) jika UserForm di terminate (keluar).

Tutorial Mudah Berbentuk Video

Jika anda masih kebingungan, anda dapat mengunduh video tutorial cara membuat form login menggunakan VBA Excel dibawah. Ukuran video hanya sebesar 1,5 MB, tapi setelah diekstrak menjadi 80 MB.