0% found this document useful (0 votes)
26 views6 pages

Form Data Barang

This document contains VBA code for managing product data in Excel. It includes subroutines for adding, searching, updating, and deleting product data stored on a sheet. The code also handles uploading and storing product images.

Uploaded by

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

Form Data Barang

This document contains VBA code for managing product data in Excel. It includes subroutines for adding, searching, updating, and deleting product data stored on a sheet. The code also handles uploading and storing product images.

Uploaded by

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

=====================================================

CODING FORM DATA BARANG | EXCEL VBA TUTORIAL


=====================================================

Option Explicit
Dim ALAMATGAMBAR As String

Private Sub CMDADD_Click()


Dim FOTOPRODUK As String
FOTOPRODUK = Me.TXTKODEBARANG.Value

Dim DBBARANG As Object


Set DBBARANG = Sheet4.Range("A100000").End(xlUp)

If Me.TXTKODEBARANG.Value = "" _
Or Me.TXTNAMA.Value = "" _
Or Me.CBSATUAN.Value = "" _
Or Me.TXTHARGABELI.Value = "" _
Or Me.TXTHARGAJUAL.Value = "" _
Or Me.TXTLABA.Value = "" _
Or Me.TXTSTOK.Value = "" Then

Call MsgBox("Data siswa harus lengkap", vbInformation, "Data Siswa")


Else
DBBARANG.Offset(1, 0).Value = "=ROW()-ROW($A$5)"
DBBARANG.Offset(1, 1).Value = "'" & Me.TXTKODEBARANG.Value
DBBARANG.Offset(1, 2).Value = Me.TXTNAMA.Value
DBBARANG.Offset(1, 3).Value = Me.CBSATUAN.Value
DBBARANG.Offset(1, 4).Value = Me.TXTHARGABELI.Value
DBBARANG.Offset(1, 5).Value = Me.TXTHARGAJUAL.Value
DBBARANG.Offset(1, 6).Value = Me.TXTLABA.Value
DBBARANG.Offset(1, 7).Value = Me.TXTSTOK.Value
Sheet8.Range("I6").Copy
DBBARANG.Offset(1, 8).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
DBBARANG.Offset(1, 9).Value = Me.TXTGAMBAR.Value
On Error Resume Next
FileCopy ALAMATGAMBAR, Me.TXTFOLDER.Value & FOTOPRODUK & ".jpg"

Call AmbilData

Call MsgBox("Data pelanggan berhasil ditambah", vbInformation, "Data Pelanggan")


Me.TXTKODEBARANG.Value = ""
Me.TXTNAMA.Value = ""
Me.CBSATUAN.Value = ""
Me.TXTHARGABELI.Value = ""
Me.TXTHARGAJUAL.Value = ""
Me.TXTLABA.Value = ""
Me.TXTSTOK.Value = ""
Me.TXTGAMBAR.Value = ""
Me.Image1.Picture = Nothing

End If
End Sub

Private Sub CMDCARI_Click()


On Error GoTo Salah
Dim CARI_DATA As Object
Dim iRow As Long
Set CARI_DATA = Sheet4
Sheet4.Range("L5").Value = Me.CBBERDASARKAN.Value
Sheet4.Range("L6").Value = "*" & Me.TXTKATAKUNCI.Value & "*"
CARI_DATA.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:= _
Sheet4.Range("L5:L6"), CopyToRange:=Sheet4.Range("N5:W5"), Unique:=False
Call HASILCARI
Exit Sub
Salah:
Call MsgBox("Maaf Data tidak ditemukan", vbInformation, "Cari Data")

End Sub

Private Sub CMDCLEAR_Click()


Me.TXTKODEBARANG.Value = ""
Me.TXTNAMA.Value = ""
Me.CBSATUAN.Value = ""
Me.TXTHARGABELI.Value = ""
Me.TXTHARGAJUAL.Value = ""
Me.TXTLABA.Value = ""
Me.TXTSTOK.Value = ""
Me.TABELDATA.Value = ""
Me.TXTNOMOR.Value = ""
Me.CBBERDASARKAN.Value = ""
Me.TXTKATAKUNCI.Value = ""
Me.CMDADD.Enabled = True
Call AmbilData
End Sub

Private Sub CMDDELETE_Click()


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.TXTKODEBARANG.Value = ""
Me.TXTNAMA.Value = ""
Me.CBSATUAN.Value = ""
Me.TXTHARGABELI.Value = ""
Me.TXTHARGAJUAL.Value = ""
Me.TXTLABA.Value = ""
Me.TXTSTOK.Value = ""
Me.TABELDATA.Value = ""
Me.TXTNOMOR.Value = ""
Sheet4.Select
Selection.EntireRow.Delete
Call AmbilData
Sheet4.Select
Me.CMDADD.Enabled = True

End If
End Sub

Private Sub CMDFOLDER_Click()


Dim PilihFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select Folder"
.ButtonName = "Confirm"
If .Show = -1 Then
PilihFolder = .SelectedItems(1)
Call MsgBox(PilihFolder)
Sheet4.Range("J2").Value = PilihFolder & "\"
Me.TXTFOLDER.Value = Sheet4.Range("J2").Value
Else
End If
End With

End Sub

Private Sub CMDRESET_Click()


Call AmbilData
Me.CBBERDASARKAN.Value = ""
Me.TXTKATAKUNCI.Value = ""
Me.TXTNOMOR.Value = ""
Me.TABELDATA.Value = ""
Me.TXTKODEBARANG.Value = ""
Me.TXTNAMA.Value = ""
Me.CBSATUAN.Value = ""
Me.TXTHARGABELI.Value = ""
Me.TXTHARGAJUAL.Value = ""
Me.TXTLABA.Value = ""
Me.TXTSTOK.Value = ""
Me.TABELDATA.Value = ""
Me.TXTNOMOR.Value = ""
Me.CBBERDASARKAN.Value = ""
Me.TXTKATAKUNCI.Value = ""
Me.TXTGAMBAR.Value = ""
Me.TXTTOTALSTOK.Value = ""
Me.CMDADD.Enabled = True
End Sub

Private Sub CMDSTOK_Click()


Dim DBSTOK As Object
If Me.TXTTAMBAHSTOK.Value = "" Then
Call MsgBox("Harap isi penambahan stok terlebih dahulu", vbInformation, "Tambah
Stok")
Else
Set DBSTOK = Sheet4.Range("B6:B1000000").Find(What:=Me.TXTKODEBARANG.Value,
LookIn:=xlValues)
DBSTOK.Offset(0, 6).Value = Me.TXTTOTALSTOK.Value
Call MsgBox("Stok berhasil ditambah", vbInformation, "Tambah Stok")
Me.TXTTAMBAHSTOK.Value = ""
Me.TXTSTOK.Value = DBSTOK.Offset(0, 6).Value
Me.TXTTOTALSTOK.Value = DBSTOK.Offset(0, 6).Value
End If

End Sub

Private Sub CMDUPDATE_Click()


Dim FOTOPRODUK As String
FOTOPRODUK = Me.TXTKODEBARANG.Value

Dim UbahData As Object


Set UbahData = Sheet4.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("Harap pilih data yang akan diubah terlebih dahulu", vbInformation,
"Pilih Data")
Else
UbahData.Offset(0, 1).Value = "'" & Me.TXTKODEBARANG.Value
UbahData.Offset(0, 2).Value = Me.TXTNAMA.Value
UbahData.Offset(0, 3).Value = Me.CBSATUAN.Value
UbahData.Offset(0, 4).Value = Me.TXTHARGABELI.Value
UbahData.Offset(0, 5).Value = Me.TXTHARGAJUAL.Value
UbahData.Offset(0, 6).Value = Me.TXTLABA.Value
UbahData.Offset(0, 7).Value = Me.TXTSTOK.Value
UbahData.Offset(0, 9).Value = Me.TXTGAMBAR.Value
Me.CMDADD.Enabled = True
On Error Resume Next
FileCopy ALAMATGAMBAR, Me.TXTFOLDER.Value & FOTOPRODUK & ".jpg"

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


Me.TXTKODEBARANG.Value = ""
Me.TXTNAMA.Value = ""
Me.CBSATUAN.Value = ""
Me.TXTHARGABELI.Value = ""
Me.TXTHARGAJUAL.Value = ""
Me.TXTLABA.Value = ""
Me.TXTSTOK.Value = ""
Me.TABELDATA.Value = ""
Me.TXTNOMOR.Value = ""
Me.TXTGAMBAR.Value = ""
Me.TXTTOTALSTOK.Value = ""

Me.Image1.Picture = Nothing

End If

End Sub

Private Sub CMDUPLOAD_Click()


On Error GoTo Salah
Dim JumlahFoto As Integer
If Me.TXTKODEBARANG.Value = "" Then
Call MsgBox("Harap isi terlebih dahulu Nama Pegawai", vbInformation, "Nama
Pegawai")
Else
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
JumlahFoto = Application.FileDialog(msoFileDialogOpen).Show
If JumlahFoto <> 0 Then
ALAMATGAMBAR = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
Me.Image1.Picture = LoadPicture(ALAMATGAMBAR)
Me.Image1.PictureSizeMode = 1
Me.TXTGAMBAR.Value = Me.TXTFOLDER.Value & Me.TXTKODEBARANG.Value & ".jpg"
End If
End If
Exit Sub
Salah:
Call MsgBox("Folder penyimpanan belum di atur, atau format gambar bukan JPG",
vbInformation, "Folder Salah")

End Sub

Private Sub TABELDATA_DblClick(ByVal Cancel As MSForms.ReturnBoolean)


Dim SUMBERUBAH, CELLAKTIF As Long
On Error GoTo EXCELVBA
Me.TXTNOMOR.Value = Me.TABELDATA.Value
Me.TXTKODEBARANG.Value = Me.TABELDATA.Column(1)
Me.TXTNAMA.Value = Me.TABELDATA.Column(2)
Me.CBSATUAN.Value = Me.TABELDATA.Column(3)
Me.TXTHARGABELI.Value = Me.TABELDATA.Column(4)
Me.TXTHARGAJUAL.Value = Me.TABELDATA.Column(5)
Me.TXTLABA.Value = Me.TABELDATA.Column(6)
Me.TXTSTOK.Value = Me.TABELDATA.Column(7)
Me.TXTGAMBAR.Value = Me.TABELDATA.Column(9)
Me.TXTTOTALSTOK.Value = Me.TABELDATA.Column(7)
Me.CMDADD.Enabled = False
On Error Resume Next
Me.Image1.Picture = LoadPicture(Me.TXTGAMBAR.Value)
Me.Image1.PictureSizeMode = 1
Sheet4.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
Sheet4.Select
Me.MultiPage1.Value = 0
Exit Sub
EXCELVBA:
Call MsgBox("Klik 2x pada tabel data", vbInformation, "Pilih Data")

End Sub

Private Sub TXTHARGABELI_Change()


Dim A As Currency
Dim B As Currency
On Error Resume Next
A = Me.TXTHARGABELI.Value
B = Me.TXTHARGAJUAL.Value

Me.TXTLABA.Value = B - A

End Sub

Private Sub TXTHARGAJUAL_Change()


Dim A As Currency
Dim B As Currency
On Error Resume Next
A = Me.TXTHARGABELI.Value
B = Me.TXTHARGAJUAL.Value

Me.TXTLABA.Value = B - A
End Sub

Private Sub TXTTAMBAHSTOK_Change()


Dim A As Integer
Dim B As Integer
On Error Resume Next
A = Me.TXTSTOK.Value
B = Me.TXTTAMBAHSTOK.Value
Me.TXTTOTALSTOK.Value = A + B
End Sub

Private Sub UserForm_Initialize()


Me.TXTFOLDER.Value = Sheet4.Range("J2").Value
With CBBERDASARKAN
.AddItem "Kode Barang"
.AddItem "Nama Barang"
End With
With CBSATUAN
.AddItem "Pcs"
.AddItem "Set"
.AddItem "Buah"
.AddItem "Lusin"
End With

Call AmbilData

End Sub
Private Sub HASILCARI()
'Perintah membuat variabel Jumlah Data
Dim DBBARANG As Long
Dim NomorBaris As Long
'Perintah mencari baris terakhir data
NomorBaris = Sheet4.Range("N" & Rows.Count).End(xlUp).Row
DBBARANG = Application.WorksheetFunction.CountA(Sheet4.Range("N6:N100000"))
'Perintah memunculkan data dari Sheet ke Userform
If DBBARANG = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "DATABARANG!N6:W" & NomorBaris
End If
End Sub

Private Sub AmbilData()


'Perintah membuat variabel Jumlah Data
Dim DBBARANG As Long
Dim NomorBaris As Long
'Perintah mencari baris terakhir data
NomorBaris = Sheet4.Range("A" & Rows.Count).End(xlUp).Row
DBBARANG = Application.WorksheetFunction.CountA(Sheet4.Range("A6:A100000"))
'Perintah memunculkan data dari Sheet ke Userform
If DBBARANG = 0 Then
Me.TABELDATA.RowSource = ""
Else
Me.TABELDATA.RowSource = "DATABARANG!A6:J" & NomorBaris
End If
End Sub

You might also like