Selamat datang dan berjumpa kembali pada blog yang sederhana ini, pada kesempatan yang baik ini admin akan berbagi artikel yaitu Cara Membuat Aplikasi Absensi Guru dan Staf Menggunakan Macro Vb,a semoga dengan artikel dan pembahasan kali ini bisa membantu menyelesaikan masalah bapak dan ibu guru terkait judul di atas.
Sebelum kita mulai ke tutorialnya yang perlu di perhatikan teman - teman aktivekan dulu tab developer, supaya nanti bisa akses untuk macro VB.a Nya.
Langkah Ke - 1
tampilan gambar di bawah ini merupakan data guru dan staf diketik manual, kemudian di beri nama formula pada semua data tersebut dengan nama db_guru,
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnJs7G-y8ipm-XWjcJuRa0Qygc5ATrybsc5H5uRt1ILBDJL-CKfAYuG1axIOzWpF1Wdb76xdnOA_nPWZoiLuMiSgWtouPyFY92YTe3ifqIifSBjjmb8yUd-AacDgjqEVx-YeF6cjj4QCgEWWdX7yecoabcsoCMA2mQrIoN5UlzrqQ0JPkZ3XcSVl2ORQ/w388-h640/4.jpg)
Langkah Ke - 2
pada tampilan gambar di bawah, merupakaan sheet 2 untuk menampung data absen datang otomatis, data ini tidak kita input manual, data ini diisi daari form absen datang, silahkan teman - teman buat format tabelnya seperti di bawah, kemudian buat nama cell formulanya yaitu db_datang
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL-APkHvgzalkTghIgaSN6cvj9PyH6tXkrqdj9yvlcP9e2_pa-AsGwAy95bUZ0NfY5kmqCLqbGnTRqzSIm5mZg7T7CPdFMfSuU8uMsMOtyi1u90Cjz1xYxMGTpktuLH56ntEjSoUQqbkRd9YuPqzjq2TZCD-Rex-gYknDoS5sBprd96hVZ7DPljJ4C5Q/w640-h582/5.jpg)
Langakah Ke - 3
pada tampilan gambar di bawah, merupakaan sheet 3 untuk menampung data absen pulang otomatis, data ini tidak kita input manual, data ini diisi dari form absen pulang, silahkan teman - teman buat format tabelnya seperti di bawah, kemudian buat nama cell formulanya yaitu db_pulang,
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy1XyBqADUTw7xsR-3x6VyQayr_g3D1r2SiEQjo82b7RCvttN-KPdUfQaXzvLq491gktJryjAOrvgTjBe6W08QsmlX-SWhLS-TsZLSoi2xPGkU7vKPNSKEEcLahakXo0Pu6LOW0VttjkMzHixAIE1w8X-0w3vGZfDjD83hXiZK2E58FQ0KJaUBpSu7wA/w640-h526/6.jpg)
Langkah Ke - 5
Tampilan gambar di bawah ini merupakan halaman utama dan laporan absensi nya, adapun rumus membuat laporan tersebut menggunakan Vlookup, berukut rumusya kami akan sertakan di bawah ini,
Rumus untuk kolom nomor,
=IF(C7="";"";COUNTA(C7)) (nomor 1 otomatis)
=IF(C7:C8="";"";COUNTA(C7:C8)) (nomor 2 otomatis)
Rumus untuk kolom kode guru,
=Sheet2!B2&""
Rumus unutuk kolom tanggal,
=IFNA(VLOOKUP(C7;db_datang;2;FALSE);"")
Rumus untuk kolom nama guru,
=IFNA(VLOOKUP(C7;db_datang;3;FALSE);"")
Rumus untuk kolom jam datang,
=IFNA(VLOOKUP(C7;db_datang;5;FALSE);"")
Rumus untuk kolom jam pulang,
=IFNA(VLOOKUP(C7;db_pulang;5;FALSE);"")
Rumus untuk kolom Keterangan,
=IFNA(VLOOKUP(C7;db_guru;3;FALSE);"")
Langkah Ke - 5
Pada tampilan gambar di bawah ini merupakan form yang berisi tombol datang dan tombol pulang, pada form ini teman-teman isi rumus pada printah sbb,
Private Sub UserForm_Activate()
TB_MASUK.SetFocus
Me.Width = Application.Width
Me.Height = Application.Height
Me.Top = Application.Top
Me.Left = Application.Left
Me.Frame1.SetFocus
End Sub
Kemudian pada tombol isi perintah sbb.
Private Sub TB_MASUK_Click()
fmasuk.Show
End Sub
Private Sub TB_PULANG_Click()
fpulang.Show
End Sub
Langkah Ke - 6Pada langkah ini teman teman buat form dengan nama fdatang, pada form ini buat sama seperti di bawah dengan,
- texbox ubah nama t_kode
- Kemudian Label
- 2 tombol yaitu tombol OK dan tombol Absen Masuk buatkan nama pada masiing masing tombol btn_ok_masuk dan btn_masuk"dua tombol ini diposisikan sama nanti pas run logikanya ada di formnya jadi ada tombol yang di sembunyikan dan munculkan, nanti pas tekan tombol ok baru muncul tombol lainnya"
Untuk kode atau perintah pada form datang sbb.
Private Sub btn_masuk_Click()
Dim emptyRow As Long
'aktifkan Sheet2
Sheet2.Activate
'deteksi baris kosong
emptyRow = WorksheetFunction.CountA(Range("b:b")) + 1
btn_ok_masuk.Visible = True
btn_masuk.Visible = False
'Simpan data ke sheet2
If Me.t_kode.Value = "" Then
MsgBox "ID tidak boleh Kosong", vbInformation, "Pesan"
Me.t_kode.SetFocus
Call hapus
btn_masuk.Visible = False
btn_ok_masuk.Visible = True
Else
t_kode = t_kode.Value
With Worksheets("Sheet2").Range("B2:B50")
Set c = .Find(t_kode, LookIn:=xlValues)
If Not c Is Nothing Then
MsgBox "Anda Sudah Absen Hari ini", vbCritical, MyApp
Call hapus
Unload Me
Else
Cells(emptyRow, 2).Value = t_kode.Value
Cells(emptyRow, 3).Value = Label2
Cells(emptyRow, 4).Value = t_nama.Value
Cells(emptyRow, 6).Value = Label3
MsgBox "Terimaksih sudah absen hari ini", vbInformation, "Pesan"
Unload Me
End If
End With
End If
End Sub
Private Sub btn_ok_masuk_Click()
btn_ok_masuk.Visible = False
btn_masuk.Visible = True
ID = t_kode.Value
With Worksheets("Sheet1").Range("B2:B50")
Set Cek = .Find(ID, LookIn:=xlValues)
If t_kode.Value = "" Then
MsgBox "Kode Guru Tidak Di temukan", vbCritical, "Pesan"
t_kode.SetFocus
btn_masuk.Visible = False
btn_ok_masuk.Visible = True
ElseIf Cek Is Nothing Then
MsgBox "ID guru Tidak ditemukan", vbInformation, MyApp
t_kode = ""
t_kode.SetFocus
btn_masuk.Visible = False
btn_ok_masuk.Visible = True
Else
t_kode = t_kode.Value
With Worksheets("Sheet1").Range("B2:B50")
Set c = .Find(t_kode, LookIn:=xlValues)
If Not c Is Nothing Then
baris = c.Row
t_kode.Value = Worksheets("Sheet1").Cells(baris, 2).Value
t_nama.Value = Worksheets("Sheet1").Cells(baris, 3).Value
t_kode.SetFocus
Else
MsgBox "ID belum terdaftar", vbCritical, "Pesan"
btn_masuk.Visible = False
btn_ok_masuk.Visible = True
End If
End With
End If
End With
End Sub
Private Sub UserForm_Activate()
btn_masuk.Visible = False
Call hapus
Label2 = Format(Now, "dd mmmm yyyy")
ld = Now + TimeValue("00:00:01")
Label3 = Format(Now, "hh:mm:ss")
ld = Now + TimeValue("00:00:01")
End Sub
Sub hapus()
t_nama.Text = ""
t_kode.Text = ""
End Sub
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhANXzxv9rDpQVPIMyj5zVhFOm7jy9noeWD76ED1fBQtgXMeLH2zg0fneMfI3eNfrtvLezRqFvuCsbgw8ggRBP1OSHHYUPUnO8q1VJIWwCfT8PbHmf8BY6mGZSFfRN4hpoOiJyhlBGvjG4nLFr3pGBOKETabtzfqP0xTkfsZ-us_paOzphM_DLi6mF4DQ/w640-h440/3.jpg)
Langkah Ke - 7Pada langkah ini teman teman buat form dengan nama fpulang, pada form ini buat sama seperti di bawah dengan,
- texbox ubah nama t_kode
- Kemudian Label
- 2 tombol yaitu tombol OK dan tombol Absen Pulangbuatkan nama pada masiing masing tombol btn_ok_pulang dan btn_pulang"dua tombol ini diposisikan sama nanti pas run logikanya ada di formnya jadi ada tombol yang di sembunyikan dan munculkan, nanti pas tekan tombol ok baru muncul tombol lainnya"
Untuk kode atau perintah pada form pulang sbb.
Private Sub btn_ok_pulang_Click()
btn_ok_pulang.Visible = False
btn_pulang.Visible = True
ID = t_kode.Value
With Worksheets("Sheet1").Range("B2:B50")
Set Cek = .Find(ID, LookIn:=xlValues)
If t_kode.Value = "" Then
MsgBox "Kode Guru Tidak Di temukan", vbCritical, "Pesan"
t_kode.SetFocus
btn_ok_pulang.Visible = True
ElseIf Cek Is Nothing Then
MsgBox "ID guru Tidak ditemukan", vbInformation, MyApp
t_kode = ""
t_kode.SetFocus
btn_ok_pulang.Visible = True
Else
t_kode = t_kode.Value
With Worksheets("Sheet1").Range("B2:B50")
Set c = .Find(t_kode, LookIn:=xlValues)
If Not c Is Nothing Then
baris = c.Row
t_kode.Value = Worksheets("Sheet1").Cells(baris, 2).Value
t_nama.Value = Worksheets("Sheet1").Cells(baris, 3).Value
t_kode.SetFocus
Else
MsgBox "ID belum terdaftar", vbCritical, "Pesan"
btn_ok_pulang.Visible = True
End If
End With
End If
End With
End Sub
Private Sub btn_pulang_Click()
Dim emptyRow As Long
'aktifkan Sheet3
Sheet4.Activate
'deteksi baris kosong
emptyRow = WorksheetFunction.CountA(Range("b:b")) + 1
btn_ok_pulang.Visible = True
btn_pulang.Visible = False
'Simpan data ke Sheet3
If Me.t_kode.Value = "" Then
MsgBox "ID tidak boleh Kosong", vbInformation, "Pesan"
Me.t_kode.SetFocus
Call hapus
btn_ok_pulang.Visible = True
Else
t_kode = t_kode.Value
With Worksheets("Sheet3").Range("B2:B50")
Set c = .Find(t_kode, LookIn:=xlValues)
If Not c Is Nothing Then
MsgBox "Anda Sudah Absen Hari ini", vbCritical, MyApp
Call hapus
Unload Me
btn_ok_pulang.Visible = True
Else
Cells(emptyRow, 2).Value = t_kode.Value
Cells(emptyRow, 3).Value = Label2
Cells(emptyRow, 4).Value = t_nama.Value
Cells(emptyRow, 6).Value = Label3
MsgBox "Terimaksih sudah absen hari ini", vbInformation, "Pesan"
Unload Me
End If
End With
End If
End Sub
Private Sub UserForm_Activate()
btn_pulang.Visible = False
Call hapus
Label2 = Format(Now, "dd mmmm yyyy")
ld = Now + TimeValue("00:00:01")
Label3 = Format(Now, "hh:mm:ss")
ld = Now + TimeValue("00:00:01")
End Sub
Sub hapus()
t_nama.Text = ""
t_kode.Text = ""
End Sub
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp0tmeuRg_e5kc7QEEj3EPnaBwKL6ndAa1GDQ_Yjgumc-ibnxIXZfSPGxGQR5uOCnq0qXs4bSwZje00GizWP4wFvEN9TYpVqWNvx4bkbIZhnyvDxIxwDEBDgxkdvyAYdZezUFiqGoWPdSUSTtagG31stDtN6Ior-HeR5f4s10P0Fz8dzzmNjwX5ohoAQ/w640-h470/7.jpg)
Download file latihannya Disini Demikian artikel kali ini Cara Membuat Aplikasi Absensi Guru dan Staf Menggunakan Macro Vb,a semoga bermanfaat untuk kita semuanya, jika artikel ini sedikit bermanfaat untuk bapak dan ibu guru silahkan share artikel ini sebanyak - banyak nya supaya lebih bermanfaat untuk kita semunya.
0 Response to "Cara Membuat Aplikasi Absensi Guru dan Staf Menggunakan Macro Vb,a Otomatis"
Posting Komentar