Cara Membuat Aplikasi Absensi Guru dan Staf Menggunakan Macro Vb,a Otomatis

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,

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

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,

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 - 6
Pada 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




Langkah Ke - 7
Pada 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




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.

Subscribe to receive free email updates:

0 Response to "Cara Membuat Aplikasi Absensi Guru dan Staf Menggunakan Macro Vb,a Otomatis"

Posting Komentar