Tutorial ini bisa
dikembangkan lagi dan digunakan di tempat kerja yang tidak mempunyai
Software applikasi pengolahan Data. Rancangan sistem yang saya buat ini
terdiri dari 4 Sesion :
Sesion # 1. Membuat Form Input Data Karyawan
Sesion # 2. Membuat Form Input Absensi Karyawan
Sesion # 3. Membuat Form Input Data Slip Gaji Karyawan
Sesion # 4. Membuat Template Laporan Absensi dan Laporan Penggajian
Sesion # 4 Membuat Template Laporan Absensi dan Laporan Penggajian
Template Laporan dibuat untuk menampilkan Data Laporan Absensi dan Laporan Penggajian.
Untuk Lebih jelas silahkan lihat video tutorial Youtube nya diatas.
Berikut ini Tampilan Rancangan untuk Template Laporan Absensi dan Laporan Penggajian.
Fungsi pada Range ("C12") = SUM(F17:F1000) 'untuk menghitung seluruh Total Gaji yang dibayar
Buatlah Dynamic Name Manager "keterangan" tanpa tanda kutip
=Absensi!$F$4:$F$998
Fungsi pada Range ("K12") 'untuk menghitung jumlah karyawan yang Tidak Kerja dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,K11)
Fungsi pada Range ("L12") 'untuk menghitung jumlah karyawan yang Terlambat dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,L11)
Fungsi pada Range ("M12") 'untuk menghitung jumlah karyawan yang Pulang Awal dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,M11)
Fungsi pada Range ("N12") 'untuk menghitung jumlah karyawan yang Tidak Kerja dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,N11)
Buatlah Diagaram Tampilan Data Lapor an Absensi
Chart data range : =Template!$K$11:$N$12
Berikut ini Module Koding untuk menampilkan data laporan pada Template :
Untuk Menampilkan Laporan Penggajian sesuai Periode ( Tanggal Penerimaan Gaji ) pada Range ("B12")
Sub Input_kryw() 'Koneksikan pada Tombol Perintah Input Data Karyawan
Columns("AL:AQ").EntireColumn.Hidden = False
Columns("B:AK").EntireColumn.Hidden = True
Range("A2").Select
End Sub
Sub Template() 'Koneksikan pada Tombol Perintah Template Lap Gaji Columns("B:U").EntireColumn.Hidden = False
Columns("V:BM").EntireColumn.Hidden = True
Range("A2").Select
End Sub
Demikian Rancangan Tutorial Sistem Absensi dan Laporan Penggajian, Silahkan Sobat kembang lebih lagi.
Sesion # 1. Membuat Form Input Data Karyawan
Sesion # 2. Membuat Form Input Absensi Karyawan
Sesion # 3. Membuat Form Input Data Slip Gaji Karyawan
Sesion # 4. Membuat Template Laporan Absensi dan Laporan Penggajian
Sesion # 4 Membuat Template Laporan Absensi dan Laporan Penggajian
Template Laporan dibuat untuk menampilkan Data Laporan Absensi dan Laporan Penggajian.
Untuk Lebih jelas silahkan lihat video tutorial Youtube nya diatas.
Berikut ini Tampilan Rancangan untuk Template Laporan Absensi dan Laporan Penggajian.
Fungsi pada Range ("C12") = SUM(F17:F1000) 'untuk menghitung seluruh Total Gaji yang dibayar
Buatlah Dynamic Name Manager "keterangan" tanpa tanda kutip
=Absensi!$F$4:$F$998
Fungsi pada Range ("K12") 'untuk menghitung jumlah karyawan yang Tidak Kerja dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,K11)
Fungsi pada Range ("L12") 'untuk menghitung jumlah karyawan yang Terlambat dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,L11)
Fungsi pada Range ("M12") 'untuk menghitung jumlah karyawan yang Pulang Awal dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,M11)
Fungsi pada Range ("N12") 'untuk menghitung jumlah karyawan yang Tidak Kerja dari periode tanggal pada Range ("I12") sampai Range ("J12")
=COUNTIFS(Tgl_Absensi,">="&I12,Tgl_Absensi,"<="&J12,keterangan,N11)
Buatlah Diagaram Tampilan Data Lapor an Absensi
Chart data range : =Template!$K$11:$N$12
Berikut ini Module Koding untuk menampilkan data laporan pada Template :
Untuk Menampilkan Laporan Penggajian sesuai Periode ( Tanggal Penerimaan Gaji ) pada Range ("B12")
Sub Lap_Gaji() 'Koneksikan pada Tombol Perintah Laporan Gaji
Dim periode
Dim Rng As Range
On Error GoTo errHandler:
Set Rng =
Worksheets("DataPenggajian").Range("B4")
Application.ScreenUpdating =
False
periode =
Format(Worksheets("Template").Range("B12").Value,
"mm/dd/yy")
If
Worksheets("Template").Range("B12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Periode "
Exit Sub
Worksheets("Template").Range("B12").Select
End If
Clear_Template
Rng.AutoFilter Field:=2,
Criteria1:=">=" & periode
Worksheets("DataPenggajian").Range("Nik_Gaji").SpecialCells(xlCellTypeVisible).Copy
_
Destination:=Worksheets("Template").Range("B17")
Worksheets("DataPenggajian").Range("DT_Gaji").SpecialCells(xlCellTypeVisible).Copy
_
Destination:=Worksheets("Template").Range("D17")
With Worksheets("DataPenggajian")
If
Worksheets("DataPenggajian").AutoFilterMode Then
Worksheets("DataPenggajian").Range("B4").AutoFilter
End If
End With
Exit Sub
errHandler:
MsgBox "Data Tidak Ada"
End Sub
Sub Clear_Template() 'Koneksikan pada Tombol Perintah Clear Data
With
Worksheets("Template").Range("B17:F1000").Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade =
-0.499984740745262
End With
With
Worksheets("Template").Range("B17:F1000")
.Borders.LineStyle = xlNone
.ClearContents
End With
End Sub
Untuk Menampilkan Laporan Absensi Tidak Kerja sesuai Periode ( Tanggal Penerimaan Gaji ) pada Range ("I12") dan Range ("J12")
Sub Tdk_Kerja() 'Koneksikan pada Tombol Perintah Cek Tdk Kerja
Dim daritgl
Dim sdtgl
Dim Keterangan
Dim Rng As Range
On Error GoTo errHandler:
Set Keterangan =
Worksheets("Template").Range("K11")
Set Rng =
Worksheets("Absensi").Range("F4")
Application.ScreenUpdating =
False
daritgl =
Format(Worksheets("Template").Range("I12").Value,
"mm/dd/yy")
sdtgl =
Format(Worksheets("Template").Range("J12").Value,
"mm/dd/yy")
If
Worksheets("Template").Range("I12").Value >
Worksheets("Template").Range("J12").Value Then
MsgBox " Nilai Sampai
Tanggal Tidak Boleh Lebih Kecil Dari Tanggal"
Exit Sub
Else
If
Worksheets("Template").Range("I12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Mulai Transaksi "
Exit Sub
Worksheets("Template").Range("I12").Select
End If
If
Worksheets("Template").Range("J12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Akhir Transaksi "
Exit Sub
Worksheets("Template").Range("J12").Select
End If
If Keterangan = "" Then
Keterangan = "*"
Clear_Template2
Rng.AutoFilter Field:=2,
Criteria1:=">=" & daritgl, _
Operator:=xlAnd,
Criteria2:="<=" & sdtgl
Rng.AutoFilter Field:=6,
Criteria1:=Keterangan & "*"
Worksheets("Absensi").Range("DT_Absensi").SpecialCells(xlCellTypeVisible).Copy
_
Destination:=Worksheets("Template").Range("I17")
With
Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("F5").AutoFilter
End If
End With
End If
On Error GoTo 0
Exit Sub
errHandler:
MsgBox "Data Tidak Ada"
End Sub
Untuk Menampilkan Laporan Absensi Terlambat sesuai Periode ( Tanggal Penerimaan Gaji ) pada Range ("I12") dan Range ("J12")
Sub Terlambat() 'Koneksikan pada Tombol Perintah Cek Terlambat
Dim daritgl
Dim sdtgl
Dim Keterangan
Dim Rng As Range
On Error GoTo errHandler:
Set Keterangan =
Worksheets("Template").Range("L11")
Set Rng =
Worksheets("Absensi").Range("F4")
Application.ScreenUpdating =
False
daritgl =
Format(Worksheets("Template").Range("I12").Value,
"mm/dd/yy")
sdtgl =
Format(Worksheets("Template").Range("J12").Value,
"mm/dd/yy")
If
Worksheets("Template").Range("I12").Value >
Worksheets("Template").Range("J12").Value Then
MsgBox " Nilai Sampai
Tanggal Tidak Boleh Lebih Kecil Dari Tanggal"
Exit Sub
Else
If
Worksheets("Template").Range("I12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Mulai Transaksi "
Exit Sub
Worksheets("Template").Range("I12").Select
End If
If
Worksheets("Template").Range("J12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Akhir Transaksi "
Exit Sub
Worksheets("Template").Range("J12").Select
End If
If Keterangan = "" Then
Keterangan = "*"
Clear_Template2
Rng.AutoFilter Field:=2,
Criteria1:=">=" & daritgl, _
Operator:=xlAnd,
Criteria2:="<=" & sdtgl
Rng.AutoFilter Field:=6,
Criteria1:=Keterangan & "*"
Worksheets("Absensi").Range("DT_Absensi").SpecialCells(xlCellTypeVisible).Copy
_
Destination:=Worksheets("Template").Range("I17")
With
Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("F4").AutoFilter
End If
End With
End If
On Error GoTo 0
Exit Sub
errHandler:
MsgBox "Data Tidak Ada"
End Sub
Untuk Menampilkan Laporan Absensi Pulang Awal sesuai Periode ( Tanggal Penerimaan Gaji ) pada Range ("I12") dan Range ("J12")
Sub Plg_awal() 'Koneksikan pada Tombol Perintah Cek Plg Cepat
Dim daritgl
Dim sdtgl
Dim Keterangan
Dim Rng As Range
On Error GoTo errHandler:
Set Keterangan =
Worksheets("Template").Range("M11")
Set Rng =
Worksheets("Absensi").Range("F4")
Application.ScreenUpdating =
False
daritgl =
Format(Worksheets("Template").Range("I12").Value,
"mm/dd/yy")
sdtgl =
Format(Worksheets("Template").Range("J12").Value,
"mm/dd/yy")
If
Worksheets("Template").Range("I12").Value >
Worksheets("Template").Range("J12").Value Then
MsgBox " Nilai Sampai
Tanggal Tidak Boleh Lebih Kecil Dari Tanggal"
Exit Sub
Else
If
Worksheets("Template").Range("I12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Mulai Transaksi "
Exit Sub
Worksheets("Template").Range("I12").Select
End If
If
Worksheets("Template").Range("J12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Akhir Transaksi "
Exit Sub
Worksheets("Template").Range("J12").Select
End If
If Keterangan = "" Then
Keterangan = "*"
Clear_Template2
Rng.AutoFilter Field:=2,
Criteria1:=">=" & daritgl, _
Operator:=xlAnd,
Criteria2:="<=" & sdtgl
Rng.AutoFilter Field:=6,
Criteria1:=Keterangan & "*"
Worksheets("Absensi").Range("DT_Absensi").SpecialCells(xlCellTypeVisible).Copy
_
Destination:=Worksheets("Template").Range("I17")
With
Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("F5").AutoFilter
End If
End With
End If
On Error GoTo 0
Exit Sub
errHandler:
MsgBox "Data Tidak Ada
End Sub
Untuk Menampilkan Laporan Absensi secara keseluruhan sesuai Periode ( Tanggal Penerimaan Gaji ) pada Range ("I12") dan Range ("J12")
Sub Lap_Absensi() 'Koneksikan pada Tombol Perintah Laporan Absensi
Dim daritgl
Dim sdtgl
Dim Keterangan
Dim Rng As Range
On Error GoTo errHandler:
Set Rng =
Worksheets("Absensi").Range("B2")
Application.ScreenUpdating =
False
daritgl =
Format(Worksheets("Template").Range("I12").Value,
"mm/dd/yy")
sdtgl =
Format(Worksheets("Template").Range("J12").Value,
"mm/dd/yy")
If
Worksheets("Template").Range("I12").Value >
Worksheets("Template").Range("J12").Value Then
MsgBox " Nilai Sampai
Tanggal Tidak Boleh Lebih Kecil Dari Tanggal"
Exit Sub
Else
If Worksheets("Template").Range("I12").Value
= "" Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Mulai Transaksi "
Exit Sub
Worksheets("Template").Range("I12").Select
End If
If
Worksheets("Template").Range("J12").Value = ""
Then
MsgBox "Masukkan Terlebih
Dahulu Tanggal Akhir Transaksi "
Exit Sub
Worksheets("Template").Range("J12").Select
End If
Clear_Template2
Rng.AutoFilter Field:=2,
Criteria1:=">=" & daritgl, _
Operator:=xlAnd,
Criteria2:="<=" & sdtgl
Worksheets("Absensi").Range("DT_Absensi").SpecialCells(xlCellTypeVisible).Copy
_
Destination:=Worksheets("Template").Range("I17")
With
Worksheets("Absensi")
If
Worksheets("Absensi").AutoFilterMode Then
Worksheets("Absensi").Range("B2").AutoFilter
End If
End With
End If
On Error GoTo 0
Exit Sub
errHandler:
MsgBox "Data Tidak Ada"
End Sub
Sub Clear_Template2()
With
Worksheets("Template").Range("I17:M1000").Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade =
-0.499984740745262
End With
With Worksheets("Template").Range("I17:M1000")
.Borders.LineStyle = xlNone
.ClearContents
End With
End Sub
Buatlah Tombol Koneksi Perintah untuk Menampilkan Form Template, Form Input Data Karywan dan Form Data Slip Gaji
Berikut ini Module Koding Koneksi nya :
Sub Input_gaji() 'Koneksikan pada Tombol Perintah Input Data Penggajian
Columns("W:AE").EntireColumn.Hidden = False
Columns("B:V").EntireColumn.Hidden = True
Columns("AF:AQ").EntireColumn.Hidden = True
Range("A2").Select
End Sub
Columns("W:AE").EntireColumn.Hidden = False
Columns("B:V").EntireColumn.Hidden = True
Columns("AF:AQ").EntireColumn.Hidden = True
Range("A2").Select
End Sub
Sub Input_kryw() 'Koneksikan pada Tombol Perintah Input Data Karyawan
Columns("AL:AQ").EntireColumn.Hidden = False
Columns("B:AK").EntireColumn.Hidden = True
Range("A2").Select
End Sub
Sub Template() 'Koneksikan pada Tombol Perintah Template Lap Gaji Columns("B:U").EntireColumn.Hidden = False
Columns("V:BM").EntireColumn.Hidden = True
Range("A2").Select
End Sub
Demikian Rancangan Tutorial Sistem Absensi dan Laporan Penggajian, Silahkan Sobat kembang lebih lagi.
Salam...,
No comments:
Post a Comment