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

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

CODING FORM BARANG - EXCEL & VBA TUTORIAL


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

Option Explicit

Private Sub CMDHAPUS_Click()


Application.ScreenUpdating = False
If Me.TXTNOMOR.Value = "" Then
Call MsgBox("Pilih data pada tabel data", vbInformation, "Hapus Data")
Else
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.TabelBarang.RowSource = ""
Me.TXTNOMOR.Value = ""
Sheet2.Select
Selection.EntireRow.Delete
Call AmbilData
Me.TXTKODE.Value = ""
Me.TXTNAMABARANG.Value = ""
Me.CMBKATEGORI.Value = ""
Me.TXTHARGABELI.Value = ""
Me.CMBSATUAN.Value = ""
Me.TXTISI.Value = ""

Me.TXTHARGA1.Value = ""
Me.CMBSATUAN1.Value = ""
Me.TXTISI1.Value = ""
Me.TXTSTOK1.Value = ""

Me.TXTHARGA2.Value = ""
Me.CMBSATUAN2.Value = ""
Me.TXTISI2.Value = ""
Me.TXTSTOK2.Value = ""

Me.TXTHARGA3.Value = ""
Me.CMBSATUAN3.Value = ""
Me.TXTISI3.Value = ""
Me.TXTSTOK3.Value = ""
Sheet1.Select
End If

End Sub

Private Sub CMDRESET_Click()


Call AmbilData
Me.TXTCARI.Value = ""
Me.TXTKODE.Value = ""
Me.TXTNAMABARANG.Value = ""
Me.CMBKATEGORI.Value = ""
Me.TXTHARGABELI.Value = ""
Me.CMBSATUAN.Value = ""
Me.TXTISI.Value = ""
Me.TXTHARGA1.Value = ""
Me.CMBSATUAN1.Value = ""
Me.TXTISI1.Value = ""
Me.TXTSTOK1.Value = ""

Me.TXTHARGA2.Value = ""
Me.CMBSATUAN2.Value = ""
Me.TXTISI2.Value = ""
Me.TXTSTOK2.Value = ""

Me.TXTHARGA3.Value = ""
Me.CMBSATUAN3.Value = ""
Me.TXTISI3.Value = ""
Me.TXTSTOK3.Value = ""

Me.CMDTAMBAH.Enabled = True
End Sub

Private Sub CMDRESET2_Click()


Call AmbilData
Me.TXTCARI.Value = ""
Me.TXTKODE.Value = ""
Me.TXTNAMABARANG.Value = ""
Me.CMBKATEGORI.Value = ""
Me.TXTHARGABELI.Value = ""
Me.CMBSATUAN.Value = ""
Me.TXTISI.Value = ""

Me.TXTHARGA1.Value = ""
Me.CMBSATUAN1.Value = ""
Me.TXTISI1.Value = ""
Me.TXTSTOK1.Value = ""

Me.TXTHARGA2.Value = ""
Me.CMBSATUAN2.Value = ""
Me.TXTISI2.Value = ""
Me.TXTSTOK2.Value = ""

Me.TXTHARGA3.Value = ""
Me.CMBSATUAN3.Value = ""
Me.TXTISI3.Value = ""
Me.TXTSTOK3.Value = ""

End Sub

Private Sub CMDSTOK_Click()


On Error GoTo EXCELVBA
Me.TXTNOMOR.Value = Me.TabelBarang.Value
With FORMSTOK
.TXTKODE.Value = Me.TabelBarang.Column(1)
.TXTNAMABARANG.Value = Me.TabelBarang.Column(2)
.TXTHARGA1.Value = Me.TabelBarang.Column(7)
.CMBSATUAN1.Value = Me.TabelBarang.Column(8)
.TXTISI1.Value = Me.TabelBarang.Column(9)
.TXTHARGA2.Value = Me.TabelBarang.Column(11)
.CMBSATUAN2.Value = Me.TabelBarang.Column(12)
.TXTISI2.Value = Me.TabelBarang.Column(13)
.TXTHARGA3.Value = Me.TabelBarang.Column(15)
.CMBSATUAN3.Value = Me.TabelBarang.Column(16)
.TXTISI3.Value = Me.TabelBarang.Column(17)
End With
FORMSTOK.Show
Exit Sub
EXCELVBA:
Call MsgBox("Harap pilih data terlebih dahulu", vbInformation, "Pilih Data")

End Sub

Private Sub CMDTAMBAH_Click()

Dim DBBARANG As Object


Set DBBARANG = Sheet2.Range("A20000").End(xlUp)

If Me.TXTKODE.Value = "" _
Or Me.TXTNAMABARANG.Value = "" _
Or Me.CMBKATEGORI.Value = "" _
Or Me.TXTHARGABELI.Value = "" _
Or Me.CMBSATUAN.Value = "" _
Or Me.TXTISI.Value = "" Then
Call MsgBox("Harap isi data barang dengan lengkap", vbInformation, "Data Barang")
Else

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


DBBARANG.Offset(1, 1).Value = Me.TXTKODE.Value
DBBARANG.Offset(1, 2).Value = Me.TXTNAMABARANG.Value
DBBARANG.Offset(1, 3).Value = Me.CMBKATEGORI.Value
DBBARANG.Offset(1, 4).Value = Me.TXTHARGABELI.Value
DBBARANG.Offset(1, 5).Value = Me.CMBSATUAN.Value
DBBARANG.Offset(1, 6).Value = Me.TXTISI.Value

DBBARANG.Offset(1, 7).Value = Me.TXTHARGA1.Value


DBBARANG.Offset(1, 8).Value = Me.CMBSATUAN1.Value
DBBARANG.Offset(1, 9).Value = Me.TXTISI1.Value
DBBARANG.Offset(1, 10).Value = Me.TXTSTOK1.Value

DBBARANG.Offset(1, 11).Value = Me.TXTHARGA2.Value


DBBARANG.Offset(1, 12).Value = Me.CMBSATUAN2.Value
DBBARANG.Offset(1, 13).Value = Me.TXTISI2.Value
DBBARANG.Offset(1, 14).Value = Me.TXTSTOK2.Value

DBBARANG.Offset(1, 15).Value = Me.TXTHARGA3.Value


DBBARANG.Offset(1, 16).Value = Me.CMBSATUAN3.Value
DBBARANG.Offset(1, 17).Value = Me.TXTISI3.Value
DBBARANG.Offset(1, 18).Value = Me.TXTSTOK3.Value

Call MsgBox("Data barang berhasil ditambah", vbInformation, "Data Barang")

Me.TXTKODE.Value = ""
Me.TXTNAMABARANG.Value = ""
Me.CMBKATEGORI.Value = ""
Me.TXTHARGABELI.Value = ""
Me.CMBSATUAN.Value = ""
Me.TXTISI.Value = ""

Me.TXTHARGA1.Value = ""
Me.CMBSATUAN1.Value = ""
Me.TXTISI1.Value = ""
Me.TXTSTOK1.Value = ""

Me.TXTHARGA2.Value = ""
Me.CMBSATUAN2.Value = ""
Me.TXTISI2.Value = ""
Me.TXTSTOK2.Value = ""

Me.TXTHARGA3.Value = ""
Me.CMBSATUAN3.Value = ""
Me.TXTISI3.Value = ""
Me.TXTSTOK3.Value = ""

End If

End Sub

Private Sub CMDUBAH_Click()


Dim SUMBERUBAH As Object
Set SUMBERUBAH = Sheet2.Range("A6:A10000").Find(What:=Me.TXTNOMOR.Value,
LookIn:=xlValues)
'perintah memastikan bahwa data yang akan diupdate telah dipilih
If Me.TXTNOMOR.Value = "" Then
Call MsgBox("Data yang diupdate belum dipilih", vbInformation, "Update Data")
Else
SUMBERUBAH.Offset(0, 1).Value = Me.TXTKODE.Value
SUMBERUBAH.Offset(0, 2).Value = Me.TXTNAMABARANG.Value
SUMBERUBAH.Offset(0, 3).Value = Me.CMBKATEGORI.Value
SUMBERUBAH.Offset(0, 4).Value = Me.TXTHARGABELI.Value
SUMBERUBAH.Offset(0, 5).Value = Me.CMBSATUAN.Value
SUMBERUBAH.Offset(0, 6).Value = Me.TXTISI.Value

SUMBERUBAH.Offset(0, 7).Value = Me.TXTHARGA1.Value


SUMBERUBAH.Offset(0, 8).Value = Me.CMBSATUAN1.Value
SUMBERUBAH.Offset(0, 9).Value = Me.TXTISI1.Value
SUMBERUBAH.Offset(0, 10).Value = Me.TXTSTOK1.Value

SUMBERUBAH.Offset(0, 11).Value = Me.TXTHARGA2.Value


SUMBERUBAH.Offset(0, 12).Value = Me.CMBSATUAN2.Value
SUMBERUBAH.Offset(0, 13).Value = Me.TXTISI2.Value
SUMBERUBAH.Offset(0, 14).Value = Me.TXTSTOK2.Value

SUMBERUBAH.Offset(0, 15).Value = Me.TXTHARGA3.Value


SUMBERUBAH.Offset(0, 16).Value = Me.CMBSATUAN3.Value
SUMBERUBAH.Offset(0, 17).Value = Me.TXTISI3.Value
SUMBERUBAH.Offset(0, 18).Value = Me.TXTSTOK3.Value

Call MsgBox("Data berhasil diupdate", vbInformation, "Update Data")


Me.TXTKODE.Value = ""
Me.TXTNAMABARANG.Value = ""
Me.CMBKATEGORI.Value = ""
Me.TXTHARGABELI.Value = ""
Me.CMBSATUAN.Value = ""
Me.TXTISI.Value = ""

Me.TXTHARGA1.Value = ""
Me.CMBSATUAN1.Value = ""
Me.TXTISI1.Value = ""
Me.TXTSTOK1.Value = ""
Me.TXTHARGA2.Value = ""
Me.CMBSATUAN2.Value = ""
Me.TXTISI2.Value = ""
Me.TXTSTOK2.Value = ""

Me.TXTHARGA3.Value = ""
Me.CMBSATUAN3.Value = ""
Me.TXTISI3.Value = ""
Me.TXTSTOK3.Value = ""
End If

End Sub
Private Sub TabelBarang_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
Dim SUMBERUBAH, CELLAKTIF As Long

On Error GoTo EXCELVBA


Me.TXTNOMOR.Value = Me.TabelBarang.Value
Me.TXTKODE.Value = Me.TabelBarang.Column(1)
Me.TXTNAMABARANG.Value = Me.TabelBarang.Column(2)
Me.CMBKATEGORI.Value = Me.TabelBarang.Column(3)
Me.TXTHARGABELI.Value = Me.TabelBarang.Column(4)
Me.CMBSATUAN.Value = Me.TabelBarang.Column(5)
Me.TXTISI.Value = Me.TabelBarang.Column(6)

Me.TXTHARGA1.Value = Me.TabelBarang.Column(7)
Me.CMBSATUAN1.Value = Me.TabelBarang.Column(8)
Me.TXTISI1.Value = Me.TabelBarang.Column(9)
Me.TXTSTOK1.Value = Me.TabelBarang.Column(10)

Me.TXTHARGA2.Value = Me.TabelBarang.Column(11)
Me.CMBSATUAN2.Value = Me.TabelBarang.Column(12)
Me.TXTISI2.Value = Me.TabelBarang.Column(13)
Me.TXTSTOK2.Value = Me.TabelBarang.Column(14)

Me.TXTHARGA3.Value = Me.TabelBarang.Column(15)
Me.CMBSATUAN3.Value = Me.TabelBarang.Column(16)
Me.TXTISI3.Value = Me.TabelBarang.Column(17)
Me.TXTSTOK3.Value = Me.TabelBarang.Column(18)

Me.CMDTAMBAH.Enabled = False
Sheet2.Select
SUMBERUBAH = Sheets("DATABARANG").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("DATABARANG").Range("A6:A" & SUMBERUBAH).Find(What:=Me.TXTNOMOR.Value,
LookIn:=xlValues, LookAt:=xlWhole).Activate
CELLAKTIF = ActiveCell.Row
'Sheets("DATABARANG").Range("B" & CELLAKTIF & ":Q" & CELLAKTIF).Select
Sheet1.Select
Exit Sub
EXCELVBA:
Call MsgBox("Klik 2x pada data yang tersedia", vbInformation, "Pilih Data")

End Sub

Private Sub TXTCARI_Change()


On Error GoTo SALAH
Dim CARI_DATA As Object
Set CARI_DATA = Sheet2
CARI_DATA.Range("u6").Value = "*" & Me.TXTCARI.Value & "*"
CARI_DATA.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet2.Range("U5:U6"), CopyToRange:=Sheet2.Range("W5:AO5"), Unique:=False
Call HasilCari

Exit Sub
SALAH:
Call MsgBox("Maaf, data tidak ditemukan", vbInformation, "Cari Data")

End Sub
Private Sub HasilCari()
Dim DBHASILCARI As Long
Dim irow As Long
irow = Sheet2.Range("W" & Rows.Count).End(xlUp).Row
DBHASILCARI = Application.WorksheetFunction.CountA(Sheet2.Range("W6:W100000"))
If DBHASILCARI = 0 Then
Me.TabelBarang.RowSource = ""
Else
Me.TabelBarang.RowSource = "DATABARANG!W6:AO" & irow
End If
End Sub

Private Sub TXTHARGABELI_Change()


On Error Resume Next
If Me.TXTHARGABELI.Value = "" Then
Me.TXTHARGASATUAN.Value = ""
Else
Me.TXTHARGASATUAN.Value =
Application.WorksheetFunction.RoundUp(IIf(Me.TXTHARGABELI.Value = "", 0,
Me.TXTHARGABELI.Value) / IIf(Me.TXTISI.Value = "", 0, Me.TXTISI.Value), -2)
End If
End Sub

Private Sub TXTISI_Change()


On Error Resume Next
If Me.TXTHARGABELI.Value = "" Then
Me.TXTHARGASATUAN.Value = ""
Else
Me.TXTHARGASATUAN.Value =
Application.WorksheetFunction.RoundUp(IIf(Me.TXTHARGABELI.Value = "", 0,
Me.TXTHARGABELI.Value) / IIf(Me.TXTISI.Value = "", 0, Me.TXTISI.Value), -2)
End If
End Sub
Private Sub AmbilData()
Dim DBBARANG As Long
Dim irow As Long
irow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row
DBBARANG = Application.WorksheetFunction.CountA(Sheet2.Range("A6:A100000"))
If DBBARANG = 0 Then
Me.TabelBarang.RowSource = ""
Else
Me.TabelBarang.RowSource = "DATABARANG!A6:S" & irow
End If
End Sub

Private Sub UserForm_Initialize()


Call AmbilData
With CMBSATUAN
.AddItem "Kg"
.AddItem "Liter"
.AddItem "PCS"
.AddItem "Kotak"
.AddItem "Kardus"
.AddItem "Buah"
.AddItem "Lusin"
End With

With CMBKATEGORI
.AddItem "Makanan"
.AddItem "Minuman"
.AddItem "Snack"
.AddItem "Mie Instan"
End With

With CMBSATUAN1
.AddItem "Kg"
.AddItem "Liter"
.AddItem "PCS"
.AddItem "Kotak"
.AddItem "Kardus"
.AddItem "Buah"
.AddItem "Lusin"
End With
With CMBSATUAN2
.AddItem "Kg"
.AddItem "Liter"
.AddItem "PCS"
.AddItem "Kotak"
.AddItem "Kardus"
.AddItem "Buah"
.AddItem "Lusin"
End With
With CMBSATUAN3
.AddItem "Kg"
.AddItem "Liter"
.AddItem "PCS"
.AddItem "Kotak"
.AddItem "Kardus"
.AddItem "Buah"
.AddItem "Lusin"
End With

End Sub

You might also like