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

Coding Form Pemakaian

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

Coding Form Pemakaian

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

CODING FORM PEMAKAIAN

Option Explicit

Private Sub CMBKODE_Change()

On Error GoTo EXCELVBA

Dim CariPelanggan As Object

Set CariPelanggan = Sheet3.Range("B6:B700000").Find(WHAT:=Me.CMBKODE.Value,


LookIn:=xlValues)

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

Me.TXTLAYANAN.Value = CariPelanggan.Offset(0, 2).Value

Me.TXTMETERAWAL.Value = CariPelanggan.Offset(0, 5).Value

Exit Sub

EXCELVBA:

Call MsgBox("Maaf, data pelanggan tidak terdafar", vbInformation, "Data Pelanggan")

End Sub

Private Sub CMDSAVE_Click()

Application.ScreenUpdating = False

'Perintah untuk menentukan nama tempat simpan data

Dim DBPEMAKAIAN As Object

'Perintah membuat tempat simpan data

Set DBPEMAKAIAN = Sheet5.Range("A900000").End(xlUp)

'Perintah untuk menentukan Data inti / tambahan

If Me.TXTKODE.Value = "" _

Or Me.CMBKODE.Value = "" _

Or Me.TXTNAMA.Value = "" _

Or Me.TXTLAYANAN.Value = "" _
Or Me.CMBBULAN.Value = "" _

Or Me.CMBTAHUN.Value = "" _

Or Me.TXTMETERAKHIR.Value = "" _

Or Me.TXTPEMAKAIAN.Value = "" Then

'Perintah memunculkan pesan jika data inti kosong

Call MsgBox("Data pemakaian harus lengkap", vbInformation, "Pemakaian")

'Perintah untuk menyimpan data pada tempat simpan data

Else

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

DBPEMAKAIAN.Offset(1, 1).Value = Me.TXTKODE.Value

DBPEMAKAIAN.Offset(1, 2).Value = Me.CMBKODE.Value

DBPEMAKAIAN.Offset(1, 3).Value = Me.TXTNAMA.Value

DBPEMAKAIAN.Offset(1, 4).Value = Me.TXTLAYANAN.Value

DBPEMAKAIAN.Offset(1, 5).Value = Me.CMBBULAN.Value

DBPEMAKAIAN.Offset(1, 6).Value = Me.CMBTAHUN.Value

DBPEMAKAIAN.Offset(1, 7).Value = Me.TXTMETERAWAL.Value

DBPEMAKAIAN.Offset(1, 8).Value = Me.TXTMETERAKHIR.Value

DBPEMAKAIAN.Offset(1, 9).Value = Me.TXTPEMAKAIAN.Value

DBPEMAKAIAN.Offset(1, 10).Value = Me.TXTTARIF.Value

DBPEMAKAIAN.Offset(1, 11).Value = Me.TXTTOTALBAYAR.Value

DBPEMAKAIAN.Offset(1, 12).Value = "Belum Bayar"

Call AmbilPemakaian

Call UpdatePakai

Call MsgBox("Data pemakaian berhasil disimpan", vbInformation, "Pemakaian")

'Perintah untuk membersihkan form

Me.TXTKODE.Value = ""

Me.CMBKODE.Value = ""

Me.TXTNAMA.Value = ""

Me.TXTLAYANAN.Value = ""
Me.CMBBULAN.Value = ""

Me.CMBTAHUN.Value = ""

Me.TXTMETERAWAL.Value = ""

Me.TXTMETERAKHIR.Value = ""

Me.TXTPEMAKAIAN.Value = ""

Me.TXTTARIF.Value = ""

Me.TXTTOTALBAYAR.Value = ""

End If

Unload Me

End Sub

Private Sub UpdatePakai()

Dim UpdatePakai As Object

Set UpdatePakai = Sheet3.Range("B6:B700000").Find(WHAT:=Me.CMBKODE.Value,


LookIn:=xlValues)

UpdatePakai.Offset(0, 5).Value = Me.TXTMETERAKHIR.Value

End Sub

Private Sub CMDUPDATE_Click()

Application.ScreenUpdating = False

'Perintah membuat Sumber data yang diubah

Dim UBAHDATA As Object

'Perintah mengecek apakah ada data yang diubah

If Me.TXTKODE.Value = "" Then

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

Else

Set UBAHDATA = Sheet5.Range("B6:B900000").Find(WHAT:=Me.TXTKODE.Value, LookIn:=xlValues)

'Perintah mengubah data dari kolom pertama

UBAHDATA.Offset(0, 1).Value = Me.CMBKODE.Value

UBAHDATA.Offset(0, 4).Value = Me.CMBBULAN.Value


UBAHDATA.Offset(0, 5).Value = Me.CMBTAHUN.Value

UBAHDATA.Offset(0, 7).Value = Me.TXTMETERAKHIR.Value

UBAHDATA.Offset(0, 8).Value = Me.TXTPEMAKAIAN.Value

Call UpdatePakai

'Perintah memunculkan pesan bahwa data berhasil diubah

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

'Perintah membersihkan textbox

Me.TXTKODE.Value = ""

Me.CMBKODE.Value = ""

Me.TXTNAMA.Value = ""

Me.TXTLAYANAN.Value = ""

Me.CMBBULAN.Value = ""

Me.CMBTAHUN.Value = ""

Me.TXTMETERAWAL.Value = ""

Me.TXTMETERAKHIR.Value = ""

Me.TXTPEMAKAIAN.Value = ""

Sheet1.Select

End If

Unload Me

End Sub

Private Sub AmbilPelanggan()

Dim DbPelanggan As Long

Dim iRow As Long

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

DbPelanggan = Application.WorksheetFunction.CountA(Sheet3.Range("B6:B90000"))

If DbPelanggan = 0 Then

Me.CMBKODE.RowSource = ""

Else

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

End If
End Sub

Private Sub AmbilPemakaian()

Dim DbPmakaian As Long

Dim iRow As Long

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

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

If DbPmakaian = 0 Then

FORMUTAMA.TABELPEMAKAIAN.RowSource = ""

Else

FORMUTAMA.TABELPEMAKAIAN.RowSource = "PEMAKAIAN!A6:M" & iRow

End If

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

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

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

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

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

End Sub

Private Sub TXTLAYANAN_Change()

Dim CariTarif As Object

Set CariTarif = Sheet2.Range("B6:B700000").Find(WHAT:=Me.TXTLAYANAN.Value, LookIn:=xlValues)

Me.TXTTARIF.Value = CariTarif.Offset(0, 1).Value

End Sub

Private Sub TXTMETERAKHIR_Change()

On Error Resume Next

Me.TXTPEMAKAIAN.Value = Val(Me.TXTMETERAKHIR.Value) - Val(Me.TXTMETERAWAL.Value)

Me.TXTTOTALBAYAR.Value = Val(Me.TXTPEMAKAIAN.Value) * Val(Me.TXTTARIF.Value)

End Sub
Private Sub UserForm_Initialize()

Call AmbilPelanggan

End Sub

You might also like