Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

--------------------------------------------

EXCEL & VBA TUTORIAL : FORM PRODUK


--------------------------------------------
Option Explicit

Private Sub CMDADD_Click()


Dim DBPRODUK As Object
Set DBPRODUK = Sheet2.Range("A100000").End(xlUp)

If Me.TXTIDPRODUK.value = "" _
Or Me.TXTNAMAPRODUK.value = "" _
Or Me.CBBAHAN.value = "" _
Or Me.CBSATUAN.value = "" _
Or Me.TXTHARGA.value = "" Then

Call MsgBox("Harap isi data Customer", vbInformation, "Customer")


Else
DBPRODUK.Offset(1, 0).value = "=ROW()-ROW($A$5)"
DBPRODUK.Offset(1, 1).value = Me.TXTIDPRODUK.value
DBPRODUK.Offset(1, 2).value = Me.TXTNAMAPRODUK.value
DBPRODUK.Offset(1, 3).value = Me.CBBAHAN.value
DBPRODUK.Offset(1, 4).value = Me.CBSATUAN.value
DBPRODUK.Offset(1, 5).value = Me.TXTHARGA.value
DBPRODUK.Offset(1, 5).value = CDec(DBPRODUK.Offset(1, 5).value)
Call AMBILDATA
Call MsgBox("Supplier berhasil ditambah", vbInformation, "User")
Me.TXTIDPRODUK.value = ""
Me.TXTNAMAPRODUK.value = ""
Me.CBBAHAN.value = ""
Me.CBSATUAN.value = ""
Me.TXTHARGA.value = ""
End If

End Sub

Private Sub CMDCUSTOMER_Click()


FORMCUSTOMER.Show
End Sub

Private Sub CMDDELETE_Click()


If Me.TXTNOMOR.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
Me.TXTIDPRODUK.value = ""
Me.TXTNAMAPRODUK.value = ""
Me.CBBAHAN.value = ""
Me.CBSATUAN.value = ""
Me.TXTHARGA.value = ""
Me.TXTNOMOR.value = ""
Me.TABELDATA.value = ""
Me.CMDADD.Enabled = True
Sheet2.Select
Selection.EntireRow.Delete
Call AMBILDATA
Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")
End If
Sheet2.Select

End Sub

Private Sub CMDRESET_Click()


Me.TXTIDPRODUK.value = ""
Me.TXTNAMAPRODUK.value = ""
Me.CBBAHAN.value = ""
Me.CBSATUAN.value = ""
Me.TXTHARGA.value = ""
Me.TXTNOMOR.value = ""
Me.TABELDATA.value = ""
Me.CMDADD.Enabled = True
End Sub

Private Sub CMDUPDATE_Click()


Dim DBPRODUK As Object
Set DBPRODUK = Sheet2.Range("A6:A100000").Find(What:=Me.TXTNOMOR.value,
LookIn:=xlValues)

If Me.TXTNOMOR.value = "" Then


Call MsgBox("Harap pilih data terlebih dahulu", vbInformation, "Update produk")
Else
DBPRODUK.Offset(0, 1).value = Me.TXTIDPRODUK.value
DBPRODUK.Offset(0, 2).value = Me.TXTNAMAPRODUK.value
DBPRODUK.Offset(0, 3).value = Me.CBBAHAN.value
DBPRODUK.Offset(0, 4).value = Me.CBSATUAN.value
DBPRODUK.Offset(0, 5).value = Me.TXTHARGA.value
DBPRODUK.Offset(0, 5).value = CDec(DBPRODUK.Offset(0, 5).value)
Call AMBILDATA
Call MsgBox("Produk berhasil diupdate", vbInformation, "Update produk")
Me.TXTIDPRODUK.value = ""
Me.TXTNAMAPRODUK.value = ""
Me.CBBAHAN.value = ""
Me.CBSATUAN.value = ""
Me.TXTHARGA.value = ""
Me.TXTNOMOR.value = ""
Me.TABELDATA.value = ""
Me.CMDADD.Enabled = True

End If

End Sub

Private Sub TABELDATA_DblClick(ByVal Cancel As MSForms.ReturnBoolean)


On Error GoTo EXCELVBA
Dim SumberData, CELLAKTIF As Long
Me.TXTNOMOR.value = Me.TABELDATA.value
Me.TXTIDPRODUK.value = Me.TABELDATA.Column(1)
Me.TXTNAMAPRODUK.value = Me.TABELDATA.Column(2)
Me.CBBAHAN.value = Me.TABELDATA.Column(3)
Me.CBSATUAN.value = Me.TABELDATA.Column(4)
Me.TXTHARGA.value = Me.TABELDATA.Column(5)
Me.CMDADD.Enabled = False

Sheet2.Select
SumberData = Sheets("PRODUK").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("PRODUK").Range("A6:A" & SumberData).Find(What:=Me.TXTNOMOR.value,
LookIn:=xlValues, lookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
Sheet2.Select
Exit Sub
EXCELVBA:
Call MsgBox("Pilih data pada tabel data", vbInformation, "Pilih Data")

End Sub

Private Sub TXTHARGA_Change()


On Error Resume Next
Me.TXTHARGA.value = Format(Me.TXTHARGA.value, "Rp #,###")
End Sub

Private Sub UserForm_Initialize()


Me.BackColor = RGB(16, 21, 47)
Call AMBILDATA
With CBSATUAN
.AddItem "Meter Persegi"
.AddItem "Buah"
.AddItem "Lembar"
End With
With CBBAHAN
.AddItem "Flexi Jerman"
.AddItem "Flexi China"
.AddItem "Flexi Korea"
.AddItem "Albatros"
.AddItem "Luster"
.AddItem "Easy Banner"
.AddItem "Poly A"
.AddItem "Poly B"
End With
End Sub

Private Sub AMBILDATA()


Dim DBPRODUK As Long
Dim irow As Long
irow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
DBPRODUK = Application.WorksheetFunction.CountA(Sheet2.Range("A6:A900000"))
If DBPRODUK = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "PRODUK!A6:F" & irow
End If
End Sub

You might also like