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

CODING FORM PENJUALAN

Option Explicit

Private Sub CMBID_Change()

On Error GoTo EXCELVBA

Dim CariPelanggan As Object

Set CariPelanggan = Sheet5.Range("B6:B700000").Find(What:=Me.CMBID.Value, LookIn:=xlValues)

Me.TXTNAMACUSTOMER.Value = CariPelanggan.Offset(0, 1).Value

Exit Sub

EXCELVBA:

Call MsgBox("Maaf, Data Customer tidak terdafar", vbInformation, "Data Customer")

End Sub

Private Sub CMBKODE_Change()

On Error GoTo EXCELVBA

Dim CariBarang As Object

Set CariBarang = Sheet2.Range("B6:B700000").Find(What:=Me.CMBKODE.Value, LookIn:=xlValues)

Me.TXTNAMABARANG.Value = CariBarang.Offset(0, 1).Value

Me.TXTSATUAN.Value = CariBarang.Offset(0, 2).Value

Me.TXTHARGABELI.Value = CariBarang.Offset(0, 3).Value

Me.TXTHARGAJUAL.Value = CariBarang.Offset(0, 4).Value

On Error Resume Next

Me.TXTTOTALBELI.Value = Val(Me.TXTQTY.Value) * Val(Me.TXTHARGABELI.Value)

Me.TXTTOTALJUAL.Value = Val(Me.TXTQTY.Value) * Val(Me.TXTHARGAJUAL.Value)

Me.TXTTOTALPROFIT.Value = Val(Me.TXTTOTALJUAL.Value) - Val(Me.TXTTOTALBELI.Value)

Exit Sub

EXCELVBA:
Call MsgBox("Maaf, Data Customer tidak terdafar", vbInformation, "Data Customer")

End Sub

Private Sub CMDSAVE_Click()

Application.ScreenUpdating = False

'Perintah untuk menentukan nama tempat simpan data

Dim DATAPENJUALAN As Object

'Perintah membuat tempat simpan data

Set DATAPENJUALAN = Sheet3.Range("A10000").End(xlUp)

'Perintah untuk menentukan Data inti / tambahan

If Me.CMDSAVE.Caption = "SAVE" Then

If Me.TXTTANGGAL.Value = "" _

Or Me.CMBID.Value = "" _

Or Me.TXTNAMACUSTOMER.Value = "" _

Or Me.CMBKODE.Value = "" _

Or Me.TXTNAMABARANG.Value = "" _

Or Me.TXTQTY.Value = "" _

Or Me.TXTSATUAN.Value = "" Then

'Perintah memunculkan pesan jika data inti kosong

Call MsgBox("1. Data penjualan harus lengkap", vbInformation, "Data Penjualan")

'Perintah untuk menyimpan data pada tempat simpan data

Else

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

DATAPENJUALAN.Offset(1, 1).Value = Format(Me.TXTTANGGAL.Value, "MM/DD/YYYY")

DATAPENJUALAN.Offset(1, 2).Value = Me.CMBID.Value

DATAPENJUALAN.Offset(1, 3).Value = Me.TXTNAMACUSTOMER.Value

DATAPENJUALAN.Offset(1, 4).Value = Me.CMBKODE.Value

DATAPENJUALAN.Offset(1, 5).Value = Me.TXTNAMABARANG.Value

DATAPENJUALAN.Offset(1, 6).Value = Me.TXTQTY.Value


DATAPENJUALAN.Offset(1, 7).Value = Me.TXTSATUAN.Value

DATAPENJUALAN.Offset(1, 8).Value = Me.TXTHARGABELI.Value

DATAPENJUALAN.Offset(1, 9).Value = Me.TXTHARGAJUAL.Value

DATAPENJUALAN.Offset(1, 10).Value = Me.TXTTOTALBELI.Value

DATAPENJUALAN.Offset(1, 11).Value = Me.TXTTOTALJUAL.Value

DATAPENJUALAN.Offset(1, 12).Value = Me.TXTTOTALPROFIT.Value

Call AmbilPenjualan

Call MsgBox("Data surat berhasil disimpan", vbInformation, "Surat Masuk")

'Perintah untuk membersihkan form

Me.TXTTANGGAL.Value = ""

Me.CMBID.Value = ""

Me.TXTNAMACUSTOMER.Value = ""

Me.CMBKODE.Value = ""

Me.TXTNAMABARANG.Value = ""

Me.TXTQTY.Value = ""

Me.TXTSATUAN.Value = ""

Me.TXTHARGABELI.Value = ""

Me.TXTHARGAJUAL.Value = ""

Me.TXTTOTALBELI.Value = ""

Me.TXTTOTALJUAL.Value = ""

Me.TXTTOTALPROFIT.Value = ""

End If

Else

Call UbahData

Unload Me

End If

Unload Me

End Sub

Private Sub AmbilPenjualan()


Dim DPenjualan As Long

Dim iRow As Long

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

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

If DPenjualan = 0 Then

FORMUTAMA.TABELDATA.RowSource = ""

Else

FORMUTAMA.TABELDATA.RowSource = "PENJUALAN!A6:M" & iRow

End If

FORMUTAMA.TXTTOTALDATA.Value = FORMUTAMA.TABELDATA.ListCount

FORMUTAMA.TCS.Caption = Sheet1.Range("D9").Value

FORMUTAMA.TBT.Caption = Sheet1.Range("D10").Value

FORMUTAMA.TNP.Caption = Sheet1.Range("D11").Value

FORMUTAMA.HPP.Caption = Sheet1.Range("D12").Value

FORMUTAMA.TLK.Caption = Sheet1.Range("D13").Value

End Sub

Private Sub UbahData()

Application.ScreenUpdating = False

'Perintah membuat Sumber data yang diubah

Dim UbahData As Object

'Perintah mengecek apakah ada data yang diubah

If Me.TXTTANGGAL.Value = "" Then

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

Else

Set UbahData = Sheet3.Range("A6:A900000").Find(What:=FORMUTAMA.TXTID1.Value,


LookIn:=xlValues)

'Perintah mengubah data dari kolom pertama

UbahData.Offset(0, 1).Value = Format(Me.TXTTANGGAL.Value, "MM/DD/YYYY")

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

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


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

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

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

UbahData.Offset(0, 7).Value = Me.TXTSATUAN.Value

UbahData.Offset(0, 8).Value = Me.TXTHARGABELI.Value

UbahData.Offset(0, 9).Value = Me.TXTHARGAJUAL.Value

UbahData.Offset(0, 10).Value = Me.TXTTOTALBELI.Value

UbahData.Offset(0, 11).Value = Me.TXTTOTALJUAL.Value

UbahData.Offset(0, 12).Value = Me.TXTTOTALPROFIT.Value

'Perintah memunculkan pesan bahwa data berhasil diubah

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

'Perintah membersihkan textbox

Me.TXTTANGGAL.Value = ""

Me.CMBID.Value = ""

Me.TXTNAMACUSTOMER.Value = ""

Me.CMBKODE.Value = ""

Me.TXTNAMABARANG.Value = ""

Me.TXTQTY.Value = ""

Me.TXTSATUAN.Value = ""

Me.TXTHARGABELI.Value = ""

Me.TXTHARGAJUAL.Value = ""

Me.TXTTOTALBELI.Value = ""

Me.TXTTOTALJUAL.Value = ""

Me.TXTTOTALPROFIT.Value = ""

Sheet1.Select

End If

Unload Me

End Sub

Private Sub TXTQTY_Change()


On Error Resume Next

Me.TXTTOTALBELI.Value = Val(Me.TXTQTY.Value) * Val(Me.TXTHARGABELI.Value)

Me.TXTTOTALJUAL.Value = Val(Me.TXTQTY.Value) * Val(Me.TXTHARGAJUAL.Value)

Me.TXTTOTALPROFIT.Value = Val(Me.TXTTOTALJUAL.Value) - Val(Me.TXTTOTALBELI.Value)

End Sub

Private Sub UserForm_Initialize()

On Error Resume Next

Call AmbilBarang

Call AmbilCustomer

End Sub

Private Sub AmbilBarang()

Dim DPenjualan As Long

Dim iRow As Long

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

DPenjualan = Application.WorksheetFunction.CountA(Sheet2.Range("A6:A90000"))

If DPenjualan = 0 Then

Me.CMBKODE.RowSource = ""

Else

Me.CMBKODE.RowSource = "DATABARANG!B6:C" & iRow

End If

End Sub

Private Sub AmbilCustomer()

Dim DCUSTOMER As Long

Dim iRow As Long

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

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

If DCUSTOMER = 0 Then

Me.CMBID.RowSource = ""

Else
Me.CMBID.RowSource = "CUSTOMER!B6:C" & iRow

End If

End Sub

You might also like