0% found this document useful (0 votes)
69 views8 pages

Coding Form SPPD

This document contains VBA code for managing travel expense reports (SPPD) in Excel. It includes subroutines for: 1) Populating dropdowns to select an employee and retrieve their details 2) Adding a new SPPD record by inputting data and saving to a worksheet 3) Deleting an existing SPPD record by finding and clearing the associated cells 4) Updating an existing SPPD record by finding the row and replacing cell values

Uploaded by

max samuel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views8 pages

Coding Form SPPD

This document contains VBA code for managing travel expense reports (SPPD) in Excel. It includes subroutines for: 1) Populating dropdowns to select an employee and retrieve their details 2) Adding a new SPPD record by inputting data and saving to a worksheet 3) Deleting an existing SPPD record by finding and clearing the associated cells 4) Updating an existing SPPD record by finding the row and replacing cell values

Uploaded by

max samuel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

CODING FORM SPPD

Private Sub CBNAMAPEGAWAI_Change()

On Error GoTo EXCELVBA

Set CariPegawai = Sheet2.Range("C8:C10000").Find(What:=Me.CBNAMAPEGAWAI.Value,


LookIn:=xlValues)

Me.TXTPANGKAT.Value = CariPegawai.Offset(0, 2).Value

Me.TXTJABATAN.Value = CariPegawai.Offset(0, 3).Value

Exit Sub

EXCELVBA:

Call MsgBox("Napa Pegawai tidak terdaftar", vbInformation, "Nama Pegawai")

End Sub

Private Sub CMD_ADD_Click()

'Perintah membuat nama tempat simpan data

Dim DBSPPD As Object

'Perintah menentukan letak tempat simpan data

Set DBSPPD = Sheet4.Range("B70000").End(xlUp)

If Me.TXTNOMORSURAT.Value = "" _

Or Me.TXTTANGGALSURAT.Value = "" _

Or Me.CBNAMAPEGAWAI.Value = "" _

Or Me.TXTPANGKAT.Value = "" _

Or Me.TXTJABATAN.Value = "" _

Or Me.TXTMAKSUDPERJALANAN.Value = "" _

Or Me.TXTALATANGKUT.Value = "" _

Or Me.TXTTEMPATTUJUAN.Value = "" _

Or Me.TXTTANGGALBERANGKAT.Value = "" _

Or Me.TXTTANGGALKEMBALI.Value = "" _
Or Me.TXTLAMAKEGIATAN.Value = "" _

Or Me.TXTPENGIKUT.Value = "" _

Or Me.TXTANGGARAN.Value = "" Then

Call MsgBox("Maaf, data input harus lengkap", vbInformation, "Input Data")

Else

'Perintah menyimpan data di tempat simpan data

DBSPPD.Offset(1, 0).Value = Me.TXTNOMORSURAT.Value

DBSPPD.Offset(1, 1).Value = Me.TXTTANGGALSURAT.Value

DBSPPD.Offset(1, 2).Value = Me.CBNAMAPEGAWAI.Value

DBSPPD.Offset(1, 3).Value = Me.TXTPANGKAT.Value

DBSPPD.Offset(1, 4).Value = Me.TXTJABATAN.Value

DBSPPD.Offset(1, 5).Value = Me.TXTMAKSUDPERJALANAN.Value

DBSPPD.Offset(1, 6).Value = Me.TXTALATANGKUT.Value

DBSPPD.Offset(1, 7).Value = Me.TXTTEMPATTUJUAN.Value

DBSPPD.Offset(1, 8).Value = Me.TXTLAMAKEGIATAN.Value

DBSPPD.Offset(1, 9).Value = Format(Me.TXTTANGGALBERANGKAT.Value, "mm/dd/yyyy")

DBSPPD.Offset(1, 10).Value = Format(Me.TXTTANGGALKEMBALI.Value, "mm/dd/yyyy")

DBSPPD.Offset(1, 11).Value = FORMPENGIKUT.CBPENGIKUT1.Value

DBSPPD.Offset(1, 12).Value = FORMPENGIKUT.CBPENGIKUT2.Value

DBSPPD.Offset(1, 13).Value = FORMPENGIKUT.CBPENGIKUT3.Value

DBSPPD.Offset(1, 14).Value = Me.TXTANGGARAN.Value

DBSPPD.Offset(1, 15).Value = Me.TXTINSTANSI.Value

DBSPPD.Offset(1, 16).Value = Me.TXTMATAANGGARAN.Value

DBSPPD.Offset(1, 17).Value = Me.TXTKETERANGAN.Value

'Perintah memunculkan pesan ketika data berhasil disimpan

Call MsgBox("Data anda berhasil disimpan", vbInformation, "Input Data")

'Perintah membersihkan form setelah data tersimpan


Me.TXTNOMORSURAT.Value = ""

Me.TXTTANGGALSURAT.Value = ""

Me.CBNAMAPEGAWAI.Value = ""

Me.TXTPANGKAT.Value = ""

Me.TXTJABATAN.Value = ""

Me.TXTMAKSUDPERJALANAN.Value = ""

Me.TXTALATANGKUT.Value = ""

Me.TXTTEMPATTUJUAN.Value = ""

Me.TXTTANGGALBERANGKAT.Value = ""

Me.TXTTANGGALKEMBALI.Value = ""

Me.TXTLAMAKEGIATAN.Value = ""

Me.TXTPENGIKUT.Value = ""

Me.TXTANGGARAN.Value = ""

Me.TXTINSTANSI.Value = ""

Me.TXTMATAANGGARAN.Value = ""

Me.TXTKETERANGAN.Value = ""

End If

End Sub

Private Sub CMD_DELETE_Click()

If Me.TXTNOMORSURAT.Value = "" Then

Call MsgBox("Pilih data pada tabel data", vbInformation, "Hapus Data")

Else

'Membuat pesan konfirmasi hapus data

Select Case MsgBox("Anda akan menghapus data" _

& vbCrLf & "Apakah anda yakin?" _

, vbYesNo Or vbQuestion Or vbDefaultButton1, "Hapus data")

Case vbNo
Exit Sub

Case vbYes

End Select

'Menentukan tempat hapus data, menghapus data dan membersihkan form

Set Hapusdata = Sheet4.Range("B5:B500000").Find(What:=Me.TXTNOMORSURAT.Value,


LookIn:=xlValues)

Hapusdata.Offset(0, -1).ClearContents

Hapusdata.Offset(0, 0).ClearContents

Hapusdata.Offset(0, 1).ClearContents

Hapusdata.Offset(0, 2).ClearContents

Hapusdata.Offset(0, 3).ClearContents

Hapusdata.Offset(0, 4).ClearContents

Hapusdata.Offset(0, 5).ClearContents

Hapusdata.Offset(0, 6).ClearContents

Hapusdata.Offset(0, 7).ClearContents

Hapusdata.Offset(0, 8).ClearContents

Hapusdata.Offset(0, 9).ClearContents

Hapusdata.Offset(0, 10).ClearContents

Hapusdata.Offset(0, 11).ClearContents

Hapusdata.Offset(0, 12).ClearContents

Hapusdata.Offset(0, 13).ClearContents

Hapusdata.Offset(0, 14).ClearContents

Hapusdata.Offset(0, 15).ClearContents

Hapusdata.Offset(0, 16).ClearContents

Hapusdata.Offset(0, 17).ClearContents

Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")

FORMDATASPPD.JUMLAHSPPD.Caption = FORMDATASPPD.TABELSPPD.ListCount

Me.TXTNOMORSURAT.Value = ""
Me.TXTTANGGALSURAT.Value = ""

Me.CBNAMAPEGAWAI.Value = ""

Me.TXTPANGKAT.Value = ""

Me.TXTJABATAN.Value = ""

Me.TXTMAKSUDPERJALANAN.Value = ""

Me.TXTALATANGKUT.Value = ""

Me.TXTTEMPATTUJUAN.Value = ""

Me.TXTTANGGALBERANGKAT.Value = ""

Me.TXTTANGGALKEMBALI.Value = ""

Me.TXTLAMAKEGIATAN.Value = ""

Me.TXTPENGIKUT.Value = ""

Me.TXTANGGARAN.Value = ""

Me.TXTINSTANSI.Value = ""

Me.TXTMATAANGGARAN.Value = ""

Me.TXTKETERANGAN.Value = ""

Call UrutSPPD

End If

End Sub

Private Sub CMD_PENGIKUT_Click()

FORMPENGIKUT.Show

End Sub

Private Sub CMD_UPDATE_Click()

Application.ScreenUpdating = False

Dim BARIS As String

If Me.TXTNOMORSURAT.Text = "" Then


Call MsgBox("Pilih data terlebih dahulu", vbInformation, "Pilih Data")

Else

Sheet4.Select

BARIS = ActiveCell.Row

Cells(BARIS, 2) = Me.TXTNOMORSURAT.Value

Cells(BARIS, 3) = Me.TXTTANGGALSURAT.Value

Cells(BARIS, 4) = Me.CBNAMAPEGAWAI.Value

Cells(BARIS, 5) = Me.TXTPANGKAT.Value

Cells(BARIS, 6) = Me.TXTJABATAN.Value

Cells(BARIS, 7) = Me.TXTMAKSUDPERJALANAN.Value

Cells(BARIS, 8) = Me.TXTALATANGKUT.Value

Cells(BARIS, 9) = Me.TXTTEMPATTUJUAN.Value

Cells(BARIS, 10) = Me.TXTLAMAKEGIATAN.Value

Cells(BARIS, 11) = Me.TXTTANGGALBERANGKAT.Value

Cells(BARIS, 12) = Me.TXTTANGGALKEMBALI.Value

Cells(BARIS, 13) = FORMPENGIKUT.CBPENGIKUT1.Value

Cells(BARIS, 14) = FORMPENGIKUT.CBPENGIKUT2.Value

Cells(BARIS, 15) = FORMPENGIKUT.CBPENGIKUT3.Value

Cells(BARIS, 16) = Me.TXTANGGARAN.Value

Cells(BARIS, 17) = Me.TXTINSTANSI.Value

Cells(BARIS, 18) = Me.TXTMATAANGGARAN.Value

Cells(BARIS, 19) = Me.TXTKETERANGAN.Value

Call MsgBox("Data SPPD berhasil diubah", vbInformation, "Ubah Data")

Me.TXTNOMORSURAT.Value = ""

Me.TXTTANGGALSURAT.Value = ""

Me.CBNAMAPEGAWAI.Value = ""
Me.TXTPANGKAT.Value = ""

Me.TXTJABATAN.Value = ""

Me.TXTMAKSUDPERJALANAN.Value = ""

Me.TXTALATANGKUT.Value = ""

Me.TXTTEMPATTUJUAN.Value = ""

Me.TXTTANGGALBERANGKAT.Value = ""

Me.TXTTANGGALKEMBALI.Value = ""

Me.TXTLAMAKEGIATAN.Value = ""

Me.TXTPENGIKUT.Value = ""

Me.TXTANGGARAN.Value = ""

Me.TXTINSTANSI.Value = ""

Me.TXTMATAANGGARAN.Value = ""

Me.TXTKETERANGAN.Value = ""

End If

Sheet2.Select

End Sub

Private Sub TXTTANGGALKEMBALI_AfterUpdate()

Dim date1 As Date, date2 As Date

date1 = Format(Me.TXTTANGGALBERANGKAT.Text, "dd/mm/yyyy")

date2 = Format(Me.TXTTANGGALKEMBALI.Text, "dd/mm/yyyy")

If date1 > date2 Then

TXTTANGGALBERANGKAT.SetFocus

MsgBox "Tanggal berangkat tidak boleh lebih tinggi dari tanggal kembali"

End If

Me.TXTLAMAKEGIATAN.Text = DateDiff("d", date1, date2) & " Hari"

End Sub
Private Sub UserForm_Initialize()

Sheet2.Select

Dim iRow As Long

iRow = Sheet2.Range("C" & Rows.Count).End(xlUp).Row

If iRow > 1 Then

Me.CBNAMAPEGAWAI.RowSource = "MENU!C8:C" & iRow

End If

End Sub

You might also like