MEMBUAT FORM LOGIN DAN REGISTER ANGGOTA DI EXCEL


Met pagi sobat blogger, kali ini kami akan share, karena ini hanya copas dari salah satu blog. yaitu dari  https://sites.google.com/site/catetannenden/membuat-form-login-dan-register-anggota-di-excel-versi-2
tujuan kami untuk pelajaran pribadi ataupun bagi rekan-rekan pengunjung mungkin ada yang membutuhkan dapat sama-sama belajar.

Kelebihan dari postingan ini, disesuaikan dari Request beberapa pertanyaan yang masuk, diantaranya :

  1. Sheet Password di hide... dan hanya akan muncul satu sheet setiap proses
  2. User Mau tidak mau harus melakukan Login...
  3. User wajib mensetting security menjadi medium (rekomendasi) atau low (tidak direkomendasikan)..
  4. User harus dan wajib Enable Macro.... kalau tidak yach... datanya gak kelihatan...
  5. Dan kelebihan terakhir... lebih rapih dikit....he...

Untuk kodenya sendiri... aku taruh di Empat area di jendela visual basic yaitu
  1. Area UserFom
  2. Area Modeul
  3. Area ThisWorkbook
  4. Area Worksheet Password Untuk Rumus Fungsinya

Untuk kodenya sendiri bisa dilihat seperti dibawah ini, dan sehubungan postingan ini disempet-sempetin... jadi mohon maaf tidak bisa dijelaskan per baris kodenya....

ini dia kode VBA nya, monggo belajar bareng.....

1. Kode Area UserForm
Option Explicit
Dim sh As Object
Dim ws As Worksheet
Dim isi As Long
Dim Msg, Style, Title, Help, Ctxt, Response, MyString

'Properties ketika Userform aktif
Private Sub UserForm_Activate()
    ThisWorkbook.Application.Calculate
    ThisWorkbook.Sheets("Login").Visible = True
    
    'hanya sheet Login yang tampil
    For Each sh In ThisWorkbook.Worksheets
        If Not sh.Name = "Login" Then sh.Visible = xlSheetHidden
    Next sh
    
    FrmLog.Visible = True
    LogNam.SetFocus
    FrmDaf.Visible = False
    Daftar.Visible = True
    Login.Visible = False
Set sh = Nothing
End Sub
Private Sub Masuk_Click()
ThisWorkbook.Application.Calculate
Set ws = Sheets("Password")

ws.Range("E4") = LogNam.Value
ws.Range("F4") = LogPwd.Value
  
LogNam.Value = ""
LogPwd.Value = ""
LogNam.SetFocus
   
'kondisi jika cell I4, sheet password bernilai true, maka bisa masuk login
If ws.Range("I4").Value = True Then
    Msg = "Nama Anda : " & ws.Range("E4").Value & " ,Password : " & ws.Range("J4").Value
    Style = vbOKCancel + vbDefaultButton1
    Title = "Konfirmasi"
    Response = MsgBox(Msg, Style, Title)
    If Response = vbOK Then
        'kondisi jika cell j4, sheet password, nilainya "Admin" maka hanya sheet admin yg ditampilkan
        If ws.Range("J4").Value = "Admin" Then
            ThisWorkbook.Sheets("Admin").Visible = True
            For Each sh In ThisWorkbook.Worksheets
                If Not sh.Name = "Admin" Then sh.Visible = xlSheetHidden
            Next sh
            Me.Hide
        Else
            ' selain itu sheet user yang tampil
            ThisWorkbook.Sheets("User").Visible = True
            For Each sh In ThisWorkbook.Worksheets
                If Not sh.Name = "User" Then sh.Visible = xlSheetHidden
            Next sh
            Me.Hide
        End If
    End If
Else
'jika login salah maka akan muncul pesan dibawah ini
    MsgBox "Nama Ama password salah... Kalau belum termasuk Anggota silahkan Daftar"
End If
Set ws = Nothing
Set Response = Nothing
End Sub
Private Sub Daftar_Click()
'kondisi jika melakukan pendaftarn maka fram Login tidak tampil
FrmDaf.Visible = True
FrmLog.Visible = False
    With Status
        .AddItem "User"
        .AddItem "Admin"
    End With
Login.Visible = True
Daftar.Visible = False
End Sub
Private Sub Login_Click()
FrmLog.Visible = True
FrmDaf.Visible = False
Daftar.Visible = True
Login.Visible = False
End Sub

Private Sub Tambah_Click()
ThisWorkbook.Application.Calculate
Set ws = Sheets("Password")
'mencari cell di kolom B yang kosong
isi = ws.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row

'kondisi jika form pendaftaran kosong akan muncul message
If DafNam.Value = "" Or DafPwd.Value = "" Or Status.Value = "" Then
    MsgBox "Data harus diisi semua"
    DafNam.Value = ""
    DafPwd.Value = ""
    Status.Value = ""
    DafNam.SetFocus
Else
    'kalau form tidak kosong maka datanya akan di masukkan ke cell di kolom B, C, D yang kosong
    ws.Cells(isi, 2).Value = DafNam.Value
    ws.Cells(isi, 3).Value = DafPwd.Value
    ws.Cells(isi, 4).Value = Status.Value

    'untuk menghindari supaya tidak ada data user dan password yang sama
    If ws.Range("N4").Value > 1 Then
        MsgBox "Data sudah ada coba cari yang lain"
        ws.Range(ws.Cells(isi, 2), ws.Cells(isi, 4)).ClearContents
        DafNam.Value = ""
        DafPwd.Value = ""
        Status.Value = ""
        DafNam.SetFocus
    Else
        Msg = "Nama Anda : " & DafNam.Value & " ,Password : " & DafPwd.Value & " , Coba Login"
        Style = vbOKCancel + vbDefaultButton1
        Title = "Konfirmasi"
        Response = MsgBox(Msg, Style, Title)
            If Response = vbOK Then
                FrmDaf.Visible = False
                FrmLog.Visible = True
                LogNam.SetFocus
            Else
                ws.Range(ws.Cells(isi, 2), ws.Cells(isi, 4)).ClearContents
                DafNam.Value = ""
                DafPwd.Value = ""
                Status.Value = ""
                DafNam.SetFocus
            End If
    End If
End If
Set ws = Nothing
End Sub

Private Sub FrmDaf_Layout()
    DafNam.Value = ""
    DafPwd.Value = ""
    Status.Value = ""
End Sub
'kondisi untuk menonaktifkan icon Close "X"
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
        Cancel = True
        MsgBox "Maaf ya... harus login dulu"
    End If
End Sub

2. Untuk kode Area Modul bisa dilihat dibawah ini 
Fungsi dari kode di Area Modul ini adalah untuk mengembalikan ke proses Login Kembali.

Option Explicit
Dim sh As Object

Sub AutoShape1_Click()
ThisWorkbook.Sheets("Login").Visible = True
   'hanya sheet Login yang tampil
    For Each sh In ThisWorkbook.Worksheets
        If Not sh.Name = "Login" Then sh.Visible = xlSheetHidden
    Next sh
UserForm1.Show
End Sub

3. Untuk kode Area Thisworkbook bisa dilihat dibawah ini 
Fungsi dari kode di Area Thisworkbook adalah mengatur supaya User harus melakukan enable macro dan loading userform ketika workbook dibuka.

Option Explicit
Dim sh As Object
'proses untuk disable macro
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.ScreenUpdating = False
    ThisWorkbook.Worksheets("Peringatan").Visible = xlSheetVisible
    
        For Each sh In ThisWorkbook.Worksheets
            If Not sh.Name = "Peringatan" Then sh.Visible = xlSheetVeryHidden
        Next sh
    
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    Application.DisplayAlerts = True
End Sub
'proses untuk enable macro
Private Sub Workbook_Open()
    Application.ScreenUpdating = True
        For Each sh In ThisWorkbook.Worksheets
            If Not sh.Name = "Peringatan" Then sh.Visible = xlSheetVisible
        Next sh
    
    ThisWorkbook.Worksheets("Peringatan").Visible = xlSheetVeryHidden
    UserForm1.Show
End Sub

Nach begitulah kiranya... postingan ini berakhir...

sobat bloger juga bisa langsung download file excel nya disini


thanks to : https://sites.google.com/site/catetannenden/membuat-form-login-dan-register-anggota-di-excel-versi-2
Share this article :

Post a Comment

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Kang Pri Kepoh - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger