You are on page 1of 3

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

EXCEL & VBA TUTORIAL : FORM CUSTOMER


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

Option Explicit

Private Sub CMDADD_Click()


Dim DBCUSTOMER As Object
Set DBCUSTOMER = Sheet1.Range("A100000").End(xlUp)

If Me.TXTID.value = "" _
Or Me.TXTNAMA.value = "" _
Or Me.TXTALAMAT.value = "" _
Or Me.TXTWA.value = "" Then

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


Else
DBCUSTOMER.Offset(1, 0).value = "=ROW()-ROW($A$5)"
DBCUSTOMER.Offset(1, 1).value = Me.TXTID.value
DBCUSTOMER.Offset(1, 2).value = Me.TXTNAMA.value
DBCUSTOMER.Offset(1, 3).value = Me.TXTALAMAT.value
DBCUSTOMER.Offset(1, 4).value = Me.TXTWA.value

Call AMBILDATA
Call AMBILCUSTOMER
Call MsgBox("Supplier berhasil ditambah", vbInformation, "User")
Me.TXTID.value = ""
Me.TXTNAMA.value = ""
Me.TXTALAMAT.value = ""
Me.TXTWA.value = ""
End If

End Sub
Private Sub AMBILCUSTOMER()
Dim DBCUSTOMER As Long
Dim irow As Long
irow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
DBCUSTOMER = Application.WorksheetFunction.CountA(Sheet1.Range("A6:A900000"))
If DBCUSTOMER = 0 Then
FORMUTAMA.CBCUSTOMER.RowSource = ""
Else
FORMUTAMA.CBCUSTOMER.RowSource = "CUSTOMER!C6:C" & irow
End If
End Sub
Private Sub AMBILDATA()
Dim DBCUSTOMER As Long
Dim irow As Long
irow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
DBCUSTOMER = Application.WorksheetFunction.CountA(Sheet1.Range("A6:A900000"))
If DBCUSTOMER = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "CUSTOMER!A6:E" & irow
End If
End Sub

Private Sub CMDBARU_Click()


Dim X As Long
X = Sheet1.Range("E3").value + 1
Sheet1.Range("E3").value = X
If Sheet1.Range("E2").value = 1 Then
Me.TXTID.value = "C-100000" & X
End If
If Sheet1.Range("E2").value = 2 Then
Me.TXTID.value = "C-10000" & X
End If
If Sheet1.Range("E2").value = 3 Then
Me.TXTID.value = "C-1000" & X
End If
If Sheet1.Range("E2").value = 4 Then
Me.TXTID.value = "C-100" & X
End If
If Sheet1.Range("E2").value = 5 Then
Me.TXTID.value = "C-10" & X
End If

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.TXTID.value = ""
Me.TXTNAMA.value = ""
Me.TXTALAMAT.value = ""
Me.TXTWA.value = ""
Me.TXTNOMOR.value = ""
Me.TABELDATA.value = ""
Sheet1.Select
Selection.EntireRow.Delete
Call AMBILDATA
Call AMBILCUSTOMER
Call MsgBox("Data berhasil dihapus", vbInformation, "Hapus Data")
End If
Sheet1.Select

End Sub

Private Sub CMDRESET_Click()


Me.TXTID.value = ""
Me.TXTNAMA.value = ""
Me.TXTALAMAT.value = ""
Me.TXTWA.value = ""
Me.TXTNOMOR.value = ""
Me.TABELDATA.value = ""
Me.CMDADD.Enabled = True
Me.CMDBARU.Enabled = True

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.TXTID.value = Me.TABELDATA.Column(1)
Me.TXTNAMA.value = Me.TABELDATA.Column(2)
Me.TXTALAMAT.value = Me.TABELDATA.Column(3)
Me.TXTWA.value = Me.TABELDATA.Column(4)

Me.CMDADD.Enabled = False
Me.CMDBARU.Enabled = False

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

End Sub
Private Sub HasilPencarian()
Dim DBStok As Long
Dim irow As Long
irow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
DBStok = Application.WorksheetFunction.CountA(Sheet1.Range("I6:I900000"))
If DBStok = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "CUSTOMER!I6:M" & irow
End If
End Sub
Private Sub TXTCARI_Change()
On Error GoTo SALAH
Dim CARIDATA As Object
Set CARIDATA = Sheet1
Sheet1.Range("G3").value = Me.TXTCARI.value
CARIDATA.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet1.Range("G2:G3"), Copytorange:=Sheet1.Range("I5:M5"), Unique:=False
Call HasilPencarian
Exit Sub
SALAH:
Call MsgBox("Data tidak ditemukan", vbInformation, "Cari Data")
End Sub

Private Sub UserForm_Initialize()


Call AMBILDATA
Me.BackColor = RGB(16, 21, 47)
End Sub

You might also like