0% found this document useful (0 votes)
37 views11 pages

Coding Form Rab

The document describes the coding for a form in Visual Basic for Applications (VBA) for managing project data. It includes subroutines for adding, deleting, updating, and searching project records stored on a worksheet. Form controls allow selecting, editing, and viewing project details and associated job data.

Uploaded by

ryan hardianto
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)
37 views11 pages

Coding Form Rab

The document describes the coding for a form in Visual Basic for Applications (VBA) for managing project data. It includes subroutines for adding, deleting, updating, and searching project records stored on a worksheet. Form controls allow selecting, editing, and viewing project details and associated job data.

Uploaded by

ryan hardianto
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/ 11

CODING FORM RAB

Option Explicit

Private Sub CmdAdd_Click()

Dim DCUSTOMER As Object

Set DCUSTOMER = Sheet3.Range("A20000").End(xlUp)

If Me.CMDADD.Caption = "Add" Then

If Me.TXTIDPROJECT.Value = "" _

Or Me.TXTNAMAPROJECT.Value = "" _

Or Me.TXTNAMA.Value = "" _

Or Me.TXTALAMAT.Value = "" _

Or Me.TXTTELPON.Value = "" Then

Call MsgBox("Harap isi data barang dengan lengkap", vbInformation, "Data Barang")

Else

DCUSTOMER.Offset(1, 0).Value = "=ROW()-ROW($A$5)"

DCUSTOMER.Offset(1, 1).Value = Me.TXTIDPROJECT.Value

DCUSTOMER.Offset(1, 2).Value = Me.TXTNAMAPROJECT.Value

DCUSTOMER.Offset(1, 3).Value = Me.TXTNAMA.Value

DCUSTOMER.Offset(1, 4).Value = Me.TXTALAMAT.Value

DCUSTOMER.Offset(1, 5).Value = Me.TXTTELPON.Value

DCUSTOMER.Offset(1, 6).Value = Me.TXTNILAI.Value

Sheet1.Range("D5").Value = Me.TXTIDPROJECT.Value

Call AmbilCustomer

Call MsgBox("Data project berhasil ditambah", vbInformation, "Project")

Me.TXTIDPROJECT.Enabled = False

Me.TXTNAMAPROJECT.Enabled = False

Me.TXTNAMA.Enabled = False
Me.TXTALAMAT.Enabled = False

Me.TXTTELPON.Enabled = False

Me.TXTNILAI.Enabled = False

'Me.TXTIDPROJECT.Value = ""

'Me.TXTNAMAPROJECT.Value = ""

'Me.TXTNAMA.Value = ""

'Me.TXTALAMAT.Value = ""

'Me.TXTTELPON.Value = ""

'Me.TXTNILAI.Value = ""

End If

Else

'Call UpdatePekerjaan

End If

End Sub

Private Sub CMDADDJOB_Click()

If Me.TXTIDPROJECT.Value = "" Then

Call MsgBox("Harap pilih Project terlebih dahulu", vbInformation, "Pilih Project")

Else

FormJob.Show

End If

End Sub

Private Sub AmbilCustomer()

Dim DCUSTOMER As Long

Dim iRow As Long

iRow = Sheet3.Range("A" & Rows.Count).End(xlUp).Row

DCUSTOMER = Application.WorksheetFunction.CountA(Sheet3.Range("A6:A90000"))

If DCUSTOMER = 0 Then

Me.TABELPROJECT.RowSource = ""
Else

Me.TABELPROJECT.RowSource = "CUSTOMER!A6:G" & iRow

End If

End Sub

Private Sub CMDBARU_Click()

On Error GoTo salah

Sheet3.Range("F3").Value = Sheet3.Range("F3").Value + 1

If Sheet3.Range("E3").Value = 1 Then

Me.TXTIDPROJECT.Value = "PJ-10000" & Sheet3.Range("F3").Value

End If

If Sheet3.Range("E3").Value = 2 Then

Me.TXTIDPROJECT.Value = "PJ-1000" & Sheet3.Range("F3").Value

End If

If Sheet3.Range("E3").Value = 3 Then

Me.TXTIDPROJECT.Value = "PJ-100" & Sheet3.Range("F3").Value

End If

If Sheet3.Range("E3").Value = 4 Then

Me.TXTIDPROJECT.Value = "PJ-10" & Sheet3.Range("F3").Value

End If

Me.TXTIDPROJECT.Enabled = False

Exit Sub

salah:

Call MsgBox("Ada kesalahan isi data pada Cell J4 atau I4 di Sheet DataLahir", vbInformation, "Kode
Lahir")

End Sub

Private Sub CmdDelete_Click()


Application.ScreenUpdating = False

Dim SUMBERUBAH As String

Dim CELLAKTIF As String

Dim X As Integer

Select Case MsgBox("Anda akan menghapus data project dengan Id Project " &
Me.TXTIDPROJECT.Value _

& vbCrLf & "Apakah anda yakin?" _

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

Case vbNo

Exit Sub

Case vbYes

End Select

Sheet3.Select

Selection.EntireRow.Delete

For X = 1 To WorksheetFunction.CountA(Sheet5.Range("M6:M10000"))

Sheet5.Select

SUMBERUBAH = Sheets("JOB").Cells(Rows.Count, "A").End(xlUp).Row

Sheets("JOB").Range("B6:B" & SUMBERUBAH).Find(What:=Me.TXTIDPROJECT.Value,


LookIn:=xlValues, LookAt:=xlWhole).Activate

CELLAKTIF = ActiveCell.Row

Selection.EntireRow.Delete

Next

Call CariJob

Me.TXTIDPROJECT.Value = ""

Me.TXTNAMAPROJECT.Value = ""

Me.TXTNAMA.Value = ""

Me.TXTALAMAT.Value = ""

Me.TXTTELPON.Value = ""

Me.TXTNILAI.Value = ""
Me.TXTNOMORCUSTOMER.Value = ""

Me.CMDADD.Enabled = True

Me.TXTNOMORCUSTOMER.Value = ""

Me.TXTNOMORJOB.Value = ""

Me.TXTIDPROJECT.Value = ""

Sheet1.Select

End Sub

Private Sub CMDDELETE2_Click()

Application.ScreenUpdating = False

Dim UpdateNilaiJob As Object

Set UpdateNilaiJob = Sheet3.Range("B6:B1000000").Find(What:=FormRAB.TXTIDPROJECT.Value,


LookIn:=xlValues)

Me.TABELJOB.Value = ""

If Me.TXTNOMORJOB.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

Sheet5.Select

Selection.EntireRow.Delete

Call CariJob

Call HitungNilai

UpdateNilaiJob.Offset(0, 5).Value = FormRAB.TXTNILAI.Value


Me.TXTNOMORJOB.Value = ""

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

Sheet1.Select

End If

End Sub

Private Sub CmdReset_Click()

Me.TXTIDPROJECT.Value = ""

Me.TXTNAMAPROJECT.Value = ""

Me.TXTNAMA.Value = ""

Me.TXTALAMAT.Value = ""

Me.TXTTELPON.Value = ""

Me.TXTNILAI.Value = ""

Me.TXTNOMORCUSTOMER.Value = ""

Me.CMDADD.Enabled = True

Me.TXTNOMORCUSTOMER.Value = ""

Me.TXTNOMORJOB.Value = ""

Me.TXTIDPROJECT.Value = ""

End Sub

Private Sub CMDUPDATE_Click()

Application.ScreenUpdating = False

'Perintah membuat Sumber data yang diubah

Dim UbahData As Object

'Perintah mengecek apakah ada data yang diubah

If Me.TXTNOMORCUSTOMER.Value = "" Then

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

Else
Set UbahData = Sheet3.Range("A6:A900000").Find(What:=Me.TXTNOMORCUSTOMER.Value,
LookIn:=xlValues)

'Perintah mengubah data dari kolom pertama

UbahData.Offset(0, 1).Value = Me.TXTIDPROJECT.Value

UbahData.Offset(0, 2).Value = Me.TXTNAMAPROJECT.Value

UbahData.Offset(0, 3).Value = Me.TXTNAMA.Value

UbahData.Offset(0, 4).Value = Me.TXTALAMAT.Value

UbahData.Offset(0, 5).Value = Me.TXTTELPON.Value

UbahData.Offset(0, 6).Value = Me.TXTNILAI.Value

'Perintah memunculkan pesan bahwa data berhasil diubah

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

'Perintah membersihkan textbox

Me.TXTIDPROJECT.Value = ""

Me.TXTNAMAPROJECT.Value = ""

Me.TXTNAMA.Value = ""

Me.TXTALAMAT.Value = ""

Me.TXTTELPON.Value = ""

Me.TXTNILAI.Value = ""

Me.TXTNOMORCUSTOMER.Value = ""

End If

End Sub

Private Sub CMDUPDATE2_Click()

Application.ScreenUpdating = False

Dim SUMBERUBAH As String

Dim CELLAKTIF As String

On Error GoTo EXCELVBA


With FormJob

.CMBJENIS.Value = Me.TABELJOB.Column(3)

.CMBURAIAN.Value = Me.TABELJOB.Column(4)

.TXTSATUAN.Value = Me.TABELJOB.Column(5)

.TXTTARIF.Value = Me.TABELJOB.Column(6)

.TXTVOLUME.Value = Me.TABELJOB.Column(7)

.TXTTOTALTARIF.Value = Me.TABELJOB.Column(8)

FormJob.CMDADD.Caption = "Update"

FormJob.Show

End With

Sheet5.Select

SUMBERUBAH = Sheets("JOB").Cells(Rows.Count, "A").End(xlUp).Row

Sheets("JOB").Range("A6:A" & SUMBERUBAH).Find(What:=Me.TXTNOMORJOB.Value,


LookIn:=xlValues, LookAt:=xlWhole).Activate

CELLAKTIF = ActiveCell.Row

'Sheet1.Select

Exit Sub

EXCELVBA:

Call MsgBox("Pilih data yang akan di ubah", vbInformation, "Ubah Data")

End Sub

Private Sub TABELJOB_Click()

Application.ScreenUpdating = False

Dim SUMBERUBAH As String

Dim CELLAKTIF As String

Me.TXTNOMORJOB.Value = Me.TABELJOB.Value

Sheet5.Select

SUMBERUBAH = Sheets("JOB").Cells(Rows.Count, "A").End(xlUp).Row

Sheets("JOB").Range("A6:A" & SUMBERUBAH).Find(What:=Me.TXTNOMORJOB.Value,


LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row

Sheet1.Select

End Sub

Private Sub TABELPROJECT_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Application.ScreenUpdating = False

Dim SUMBERUBAH As String

Dim CELLAKTIF As String

On Error GoTo EXCELVBA

Me.TABELJOB.Value = ""

Me.TXTNOMORCUSTOMER.Value = Me.TABELPROJECT.Value

Me.TXTID.Value = Me.TABELPROJECT.Column(1)

Me.TXTIDPROJECT.Value = Me.TABELPROJECT.Column(1)

Me.TXTNAMAPROJECT.Value = Me.TABELPROJECT.Column(2)

Me.TXTNAMA.Value = Me.TABELPROJECT.Column(3)

Me.TXTALAMAT.Value = Me.TABELPROJECT.Column(4)

Me.TXTTELPON.Value = Me.TABELPROJECT.Column(5)

Me.TXTNILAI.Value = Me.TABELPROJECT.Column(6)

Sheet1.Range("D5").Value = Me.TXTIDPROJECT.Value

Call CariJob

Call HitungNilai

Sheet3.Select

SUMBERUBAH = Sheets("CUSTOMER").Cells(Rows.Count, "A").End(xlUp).Row

Sheets("CUSTOMER").Range("A6:A" &
SUMBERUBAH).Find(What:=Me.TXTNOMORCUSTOMER.Value, LookIn:=xlValues,
LookAt:=xlWhole).Activate

CELLAKTIF = ActiveCell.Row

Sheet1.Select

Me.CMDADD.Enabled = False

Exit Sub
EXCELVBA:

Call MsgBox("Harap klik 2x pada tabel data", vbInformation, "Data Pegawai")

End Sub

Private Sub AmbilJob()

Dim DJOB As Long

Dim iRow As Long

iRow = Sheet5.Range("A" & Rows.Count).End(xlUp).Row

DJOB = Application.WorksheetFunction.CountA(Sheet5.Range("A6:A90000"))

If DJOB = 0 Then

FormRAB.TABELJOB.RowSource = ""

Else

FormRAB.TABELJOB.RowSource = "JOB!A6:I" & iRow

End If

End Sub

Private Sub CariJob()

On Error GoTo salah

Dim iRow As Long

Dim DCARIJOB As Object

Set DCARIJOB = Sheet5

Sheet5.Range("K5").Value = "ID Project"

Sheet5.Range("K6").Value = Me.TXTIDPROJECT.Value

DCARIJOB.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _

Sheet5.Range("K5:K6"), CopyToRange:=Sheet5.Range("M5:U5"), Unique:=False

iRow = Sheet5.Range("M" & Rows.Count).End(xlUp).Row

If Application.WorksheetFunction.CountA(Sheet5.Range("M6:M999999")) = 0 Then

Me.TABELJOB.RowSource = ""

Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")

Else

Me.TABELJOB.RowSource = "JOB!M6:U" & iRow

End If

Exit Sub
salah:

Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")

End Sub

Private Sub HitungNilai()

Dim MySum As Double

Dim r As Long

MySum = 0

With FormRAB.TABELJOB

For r = 0 To .ListCount - 1

MySum = MySum + .List(r, 8)

Next r

End With

FormRAB.TXTNILAI.Value = MySum

End Sub

Private Sub UserForm_Initialize()

Call AmbilCustomer

End Sub

You might also like