Akhirnya ada kesempatan bikin postingan lagi... yach disempet-sempetin.. sebenernya...
Postingan ini merupakan kelanjutan dari postingan sebelumnya, yaitu MACRO MEMBUAT FORM LOGIN DAN REGISTER ANGGOTA DI EXCEL...
Kelebihan dari postingan ini, disesuaikan dari Request beberapa pertanyaan yang masuk, diantaranya :
Apabila ada yang mengikuti blog ini, sebenernya kode dari file MEMBUAT FORM LOGIN DAN REGISTER ANGGOTA DI EXCEL Versi 2 ini merupakan gabungan dari beberapa kode postingan sebelumnya, yaitu :
Untuk kodenya sendiri... aku taruh di Empat area di jendela visual basic yaitu
Untuk kodenya sendiri bisa dilihat seperti dibawah ini, dan sehubungan postingan ini disempet-sempetin... jadi mohon maaf tidak bisa dijelaskan per baris kodenya....
Untuk mempelajari lebih lanjut filenya bisa langsung di DOWNLOAD DISINI...
1. Kode Area UserForm
2. Untuk kode Area Modul bisa dilihat dibawah ini
Fungsi dari kode di Area Modul ini adalah untuk mengembalikan ke proses Login Kembali.
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.
Nach begitulah kiranya... postingan ini berakhir... Apabila ada pertanyaan... langsung saja pencet komentar... atau email juga boleh....
Postingan ini merupakan kelanjutan dari postingan sebelumnya, yaitu MACRO MEMBUAT FORM LOGIN DAN REGISTER ANGGOTA DI EXCEL...
Kelebihan dari postingan ini, disesuaikan dari Request beberapa pertanyaan yang masuk, diantaranya :
- Sheet Password di hide... dan hanya akan muncul satu sheet setiap proses
- User Mau tidak mau harus melakukan Login...
- User wajib mensetting security menjadi medium (rekomendasi) atau low (tidak direkomendasikan)..
- User harus dan wajib Enable Macro.... kalau tidak yach... datanya gak kelihatan...
- Dan kelebihan terakhir... lebih rapih dikit....he...
Apabila ada yang mengikuti blog ini, sebenernya kode dari file MEMBUAT FORM LOGIN DAN REGISTER ANGGOTA DI EXCEL Versi 2 ini merupakan gabungan dari beberapa kode postingan sebelumnya, yaitu :
- MACRO MEMBUAT FORM LOGIN DAN REGISTER ANGGOTA DI EXCEL
- WORKBOOK HANYA TERBUKA KETIKA ENABLE MACRO
- HIDE SHEET DATABASE INPUT FORM EXCEL
Untuk kodenya sendiri... aku taruh di Empat area di jendela visual basic yaitu
- Area UserFom
- Area Modeul
- Area ThisWorkbook
- 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....
Untuk mempelajari lebih lanjut filenya bisa langsung di DOWNLOAD DISINI...
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... Apabila ada pertanyaan... langsung saja pencet komentar... atau email juga boleh....

35 comments:
Saya Mau buat Tobol Input data seperti Posting mas di HIDE SHEET DATABASE INPUT FORM EXCEL
Tibadi Input di = Cell I5
Tanggal Input di = Cell K7 dan J11
TTD input di = I14
NIP = hanya boleh di isi dengan angka..
Tolong Mas yang udah Mahir N jago.. Scrip untuk Input data seperti kronologis gambar di atas..
Dan pada bagian database”= (sheet)” nya buatkan tombol print Automatis dan Save
NB: jika tombol masuk di klik data akan mengisi cell-cell tsbt di atas dan data yang sudah ada di sel tersebut akan di timpa (seperti kita mengetik di cell )
Private Sub Ocreh_Click()
Dim ws As Worksheet
Set ws = Worksheets("Dataku")
If Trim(Me.Tibadi.Value) = "" Then
Me.Tibadi.SetFocus
MsgBox "Datanya diisi dulu ya"
Exit Sub
Else
If Not IsNumeric(NIP.Value) Then
Me.NIP.SetFocus
MsgBox "Isi Data dengan No Telephone yoo"
Exit Sub
End If
End If
ws.Range("I5").Value = Me.Tibadi.Value
ws.Range("K7,J11").Value = Me.Tanggal.Value
ws.Range("I14").Value = Me.TTD.Value
ws.Range("A1").Value = Me.NIP.Value
Me.Tibadi.Value = ""
Me.Tanggal.Value = ""
Me.TTD.Value = ""
Me.NIP.Value = ""
Me.Tibadi.SetFocus
End Sub
sesuaikan nama textbox user form dengan kode diatas.
kemudian insert module dan tambahkan kode dibawah ini, untuk membuat command print dan save, setelah itu insert autoshape dan assign macro sesuai perintah sub dibawah.
Sub ngeprint()
Dim ws As Worksheet
Set ws = Worksheets("Dataku")
ws.Activate
ActiveSheet.PrintOut
End Sub
Sub simpen()
ThisWorkbook.Save
End Sub
apakah membantu ?
Visit Back y
http://www.hanyaberbagi2.blogspot.com/
Kalo mau buat macro input data gimana ya??
Maksudnya klo kita input suatu angka disitu, trus otomatis angka tsb masuk ke dalam tabel...
Trims sebelumnya,
sheet.Range("I5").Value = Me.inputform1.Value
soalnya lagi fokus mikirin cara masukin data terus muncul jam otomatis di excell.
Sekalian mu tanya ma master excell, gmna ya cara.a?? tolong bantu ya...
misalnya, saya masukin data (contoh: angka 1) ke "A2", terus di "B2" muncul "sesuai jam di komputer".
Saya pake rumus :
=if(A2="1";now();"-")
kemudian saya copy ke kolom selanjutnya di "B3". Eh, ternyata d kolom "B2" juga ikut ter-update. hiks..hiks..
Jadi, saya pengen yg di kolom "B2" tidak rubah.
gmna ya rumus.a ??
tolong ya atau kirim ke email kku, tastha_teaa@ovi.com
trims & salam sukses,
Tastha
Sub entri()
Dim r As Long
r = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
Cells(r, "A").Value = Range("B2").Value
With Cells(r, "B")
.Value = Now
.NumberFormat = "mm/dd/yyyy hh:mm:ss"
End With
Cells(r, "C").Value = Application.UserName
End Sub
itu scriptnya klo kita dah login yang keluar hanya sheet admin saja ya, bagaimana cara nya menampilkan sheet lainnya?? jd sy protect dokumen exel saya tp pas keluar hanya halaman admin saja, sheet data saya ke hideen, bagaimana cara menampilkan sheet yg lain? terima kasih
Select Case sh.Name
Case "Admin", "Data"
sh.Visible = xlSheetVisible
Case Else: sh.Visible = xlSheetVeryHidden
End Select
yang patut jadi perhatian adalah kode
Case "Admin, "Data" ganti dengan nama sheet yang ingin ditampilkan... begitu...
Kalo gak dibalik aja, kalo memang sheet yang ingin ditampilkan dinamis, kita rubah kode select case diatas untuk data yang dihide.
caranya tinggal dirubah data case menjadi sheet yang ingin di hide, dengan status visible hidden, case else visible is true
Sekalian nanya neh.. saya udah coba masukin rumus makro form login user ke file aplikasi sederhana yang saya buat.. setelah file tersebut coba di open, kok malah ga ada yah form login tersebut, tapi setelah saya cek dan saya coba run makro pada VBA di file exel tersebut, Form login bisa dijalankan.. kira-kira apa menyebabkan hal tersebut,
Kemudian, setelah saya coba-coba run makro, tpi setelah login sukses kenapa sheet yang terbuka masih sheet "login", padahal pada rumus macronya sudah saya setting ke sheett yang lain.. dalam hal ini saya telah membuat sheet "home" sebagai interface awal file program yang saya buat...
MOhon bantuannya kang...
Tapi berdasarkan apa yang pernah saya bikin...
biasanya pengaruh ke memory kode makro tersebut yang terlalu berat...
coba kurangi memory dengan kode aplikasi EnableEvents, ScreenUpdating dibikin false... diawal dan true diakhir kode
Atau kalo mau bisa dikirmkan file contohnya... biar tahu pasti errornya dimana....
Trims
mas ada menu log in
dia minta nama sama password
apa mas nama dan passwordnyo
cos nggak bsa masuk ane
oia, ngomong2 ada satu yang kurang dari form login ini, kalo ga jadi masuk ato daftar keluarnya lewat mana ya?
solder hp
namun ada sedikit kendala.
sudah berhasil namun munculnya setipa mau buka selalu reply semua sheet.
gimana caranya agar tidak muncul, tetapi langsung muncul HOME
terimakasih...
Posting Komentar