Senin, 23 September 2019

Mudah Membuat Form Login Menggunakan VBA Excel

Mudah Membuat Form Login Menggunakan VBA Excel


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


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).



Whatsapp Button works on Mobile Device only

Start typing and press Enter to search