Senin, 30 Juni 2025

Macro Excel Penghitungan Otomatis Shift Kerja Karyawan

Mengelola jadwal shift kerja secara manual bisa memakan waktu dan rentan kesalahan. Dengan bantuan macro di Excel, Anda bisa mengotomatiskan penghitungan shift kerja harian, mingguan, bahkan bulanan. Ini sangat berguna untuk HR, supervisor, atau manajer operasional dalam memantau jam kerja karyawan dengan efisien.

Tujuan Menggunakan Macro Shift Kerja

  • Otomatis menghitung total jam kerja berdasarkan shift
  • Memisahkan shift pagi, siang, malam
  • Menentukan karyawan yang terlambat atau tidak hadir
  • Ringkasan laporan mingguan/bulanan

Struktur Data Shift Kerja

Buat tabel berikut di Sheet “ShiftKerja”:

NamaTanggalShiftJam MasukJam KeluarTotal Jam
Arya01/07/2025Pagi07:0015:00

Script Macro Penghitungan Otomatis Jam Kerja

Langkah:

  1. Tekan Alt + F11 untuk membuka Visual Basic for Applications (VBA)
  2. Masukkan module baru dan tempelkan script berikut:

Sub HitungJamKerja()
    Dim lastRow As Long
    Dim ws As Worksheet
    Dim i As Long
    Set ws = Sheets("ShiftKerja")
    
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    For i = 2 To lastRow
        If IsDate(ws.Cells(i, "D")) And IsDate(ws.Cells(i, "E")) Then
            ws.Cells(i, "F").Value = _
                (ws.Cells(i, "E").Value - ws.Cells(i, "D").Value) * 24
        Else
            ws.Cells(i, "F").Value = "Invalid"
        End If
    Next i

    MsgBox "Perhitungan shift selesai!", vbInformation
End Sub

Penjelasan Script

  • lastRow: Menghitung baris terakhir yang berisi data
  • (JamKeluar - JamMasuk) * 24: Konversi jam kerja ke format numerik
  • MsgBox: Menampilkan pesan bahwa perhitungan selesai

Cara Menjalankan Macro

  1. Tekan Alt + F8, pilih HitungJamKerja
  2. Klik Run

Otomatis Jalankan Macro Saat File Dibuka

Tambahkan kode ini di bagian ThisWorkbook:


Private Sub Workbook_Open()
    Call HitungJamKerja
End Sub

FAQ

  • Apakah macro ini bisa menghitung shift malam?
    Bisa, namun perlu modifikasi rumus jika jam keluar di hari berikutnya (gunakan logika If dengan DateDiff).
  • Apakah macro bisa dipakai di semua Excel?
    Macro hanya berjalan di Excel Desktop, bukan Excel Online.
  • Bagaimana menyimpan file macro?
    Gunakan format .xlsm saat menyimpan.

Related Posts

Related Resources

Tags: #MacroShiftKerja #ExcelAutomation #ExcelMacro #JamKerjaExcel #HRExcelTools

0 komentar:

Posting Komentar