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