-----------------------------------------
CODING MODULE 1 - EXCEL & VBA TUTORIAL
-----------------------------------------
Option Explicit
Sub EditData()
Application.ScreenUpdating = False
Dim SUMBERUBAH As String
Dim CELLAKTIF As String
On Error GoTo EXCELVBA
With FORMKARYAWAN
.TXTIDPEGAWAI.Value = Sheet1.TABELPEGAWAI.Column(1)
.TXTNAMAPEGAWAI.Value = Sheet1.TABELPEGAWAI.Column(2)
.CMBJENISKELAMIN.Value = Sheet1.TABELPEGAWAI.Column(3)
.TXTTEMPATLAHIR.Value = Sheet1.TABELPEGAWAI.Column(4)
.TXTTANGGALLAHIR.Value = Format(Sheet1.TABELPEGAWAI.Column(5), "DD/MM/YYYY")
.CMBDEPARTEMEN.Value = Sheet1.TABELPEGAWAI.Column(6)
.CMBJABATAN.Value = Sheet1.TABELPEGAWAI.Column(7)
.TXTTGLGABUNG.Value = Format(Sheet1.TABELPEGAWAI.Column(8), "DD/MM/YYYY")
.TXTGAMBAR.Value = Sheet1.TABELPEGAWAI.Column(9)
On Error Resume Next
.Image1.Picture = LoadPicture(.TXTGAMBAR.Value)
.CMDSIMPAN.Enabled = False
FORMKARYAWAN.Show
End With
Sheet2.Select
SUMBERUBAH = Sheets("EMPLOYEE").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("EMPLOYEE").Range("A5:A" & SUMBERUBAH).Find(WHAT:=Sheet1.TXTNOMOR.Value,
LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheet1.Select
Exit Sub
EXCELVBA:
Call MsgBox("Data belum dipilih, atau File Foto tidak ditemukan", vbInformation,
"Data Pegawai")
End Sub
Sub UpdateTabel()
Application.ScreenUpdating = False
Dim DPEGAWAI As Long
Dim irow As Long
irow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
DPEGAWAI = Application.WorksheetFunction.CountA(Sheet2.Range("A5:A90000"))
If DPEGAWAI = 0 Then
Sheet1.TABELPEGAWAI.ListFillRange = ""
Else
Sheet1.TABELPEGAWAI.ListFillRange = "EMPLOYEE!A5:K" & irow
End If
Sheet1.Select
End Sub
Sub CariKaryawan()
If Sheet1.TXTCARI.Value = "" Then
Call MsgBox("Masukkan ID Pegawai terlebih dahulu", vbInformation, "Id Pegawai")
Else
On Error Resume Next
Sheet1.Range("Z13").Value = Sheet1.TXTCARI.Value
Sheet1.Shapes.Range(Array("GAMBAR")).Fill.Visible = True
Sheet1.Shapes.Range(Array("GAMBAR")).Fill.UserPicture
CStr(Sheet1.Range("Z22").Value)
Sheet7.Shapes.Range(Array("GAMBARPROFILE")).Fill.Visible = True
Sheet7.Shapes.Range(Array("GAMBARPROFILE")).Fill.UserPicture
CStr(Sheet1.Range("Z22").Value)
End If
End Sub
Sub ClearKaryawan()
Sheet1.Shapes.Range(Array("GAMBAR")).Fill.Visible = False
Sheet1.Range("Z13").Value = ""
Sheet1.TXTCARI.Value = ""
End Sub
Sub ResetTabel()
Sheet1.TABELPEGAWAI.Value = ""
Sheet1.TXTNOMOR.Value = ""
Call UpdateTabel
End Sub
Sub DetailData()
If Sheet1.TXTCARI.Value = "" Then
Call MsgBox("Masukkan ID Pegawai terlebih dahulu", vbInformation, "ID Pegawai")
Else
With FORMKARYAWAN
.TXTIDPEGAWAI.Value = Sheet1.Range("Z14").Value
.TXTNAMAPEGAWAI.Value = Sheet1.Range("Z15").Value
.CMBJENISKELAMIN.Value = Sheet1.Range("Z16").Value
.TXTTEMPATLAHIR.Value = Sheet1.Range("Z17").Value
.TXTTANGGALLAHIR.Value = Sheet1.Range("Z18").Value
.CMBDEPARTEMEN.Value = Sheet1.Range("Z19").Value
.CMBJABATAN.Value = Sheet1.Range("Z20").Value
.TXTTGLGABUNG.Value = Sheet1.Range("Z21").Value
.TXTGAMBAR.Value = Sheet1.Range("Z22").Value
On Error Resume Next
.Image1.Picture = LoadPicture(Sheet1.Range("Z22").Value)
.CMDSIMPAN.Enabled = False
.CMDUPDATE.Enabled = False
.CMDHAPUS.Enabled = False
.CMDUPLOAD.Enabled = False
FORMKARYAWAN.Show
End With
End If
End Sub
Sub CetakProfile()
Application.ScreenUpdating = False
If Sheet1.Range("Z13").Value = "" Then
Call MsgBox("Profile Pegawai belum ditentukan", vbInformation, "Profile Pegawai")
Else
Select Case MsgBox("Profile Pegawai akan dicetak" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Profile")
Case vbNo
Exit Sub
Case vbYes
End Select
Sheet7.PrintOut
Sheet1.Select
End If
End Sub
Sub CariPegawai()
On Error GoTo salah
Dim irow As Long
Dim DCARIPEGAWAI As Object
Set DCARIPEGAWAI = Sheet2
Sheet2.Range("L5").Value = "*" & Sheet1.TXTCARI2.Value & "*"
DCARIPEGAWAI.Range("A4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet2.Range("L4:L5"), CopyToRange:=Sheet2.Range("N4:W4"), Unique:=False
irow = Sheet2.Range("N" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.CountA(Sheet2.Range("N5:N999999")) = 0 Then
Sheet1.TABELPEGAWAI.ListFillRange = ""
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
Else
Sheet1.TABELPEGAWAI.ListFillRange = "EMPLOYEE!N5:W" & irow
End If
Exit Sub
salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")
End Sub
Sub CetakTabelKaryawan()
Application.ScreenUpdating = False
Select Case MsgBox("Tabel Data Pegawai akan dicetak" _
& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Pegawai")
Case vbNo
Exit Sub
Case vbYes
End Select
Sheet2.PrintOut
Sheet1.Select
End Sub