Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
9 views3 pages

Coding Form Bayar

This document contains an Excel VBA tutorial for a payment form that includes functionality for printing receipts, calculating totals, and managing transactions. It defines several subroutines for handling user interactions, updating data, and formatting outputs. Key features include dynamic range selection, tax calculations, and transaction history management.

Uploaded by

samashin55
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)
9 views3 pages

Coding Form Bayar

This document contains an Excel VBA tutorial for a payment form that includes functionality for printing receipts, calculating totals, and managing transactions. It defines several subroutines for handling user interactions, updating data, and formatting outputs. Key features include dynamic range selection, tax calculations, and transaction history management.

Uploaded by

samashin55
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/ 3

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

CODING FORM BAYAR : EXCEL VBA TUTORIAL


-------------------------------------------------
Option Explicit

Private Sub CMDBAYAR_Click()


Dim STRUK, dbtransaksi As Object
Dim DATAMEJA As Object
Dim StartBaris As Long

Set DATAMEJA = Sheet4.Range("A5:A1000").Find(What:=Me.TXTMEJA.Value,


LookIn:=xlValues)
Set STRUK = Sheet6.Range("B1000").End(xlUp)
Set dbtransaksi = Sheet5.Range("D1000000").End(xlUp)

Select Case MsgBox("Anda akan mencetak struk" _


& vbCrLf & "Apakah anda yakin?" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Cetak Struk")
Case vbNo
Exit Sub
Case vbYes
End Select
Call DynamicRange
STRUK.Offset(1, 0).PasteSpecial xlPasteAll
StartBaris = Application.WorksheetFunction.CountA(Sheet6.Range("B11:B1000")) + 3

dbtransaksi.Offset(1, 0).PasteSpecial xlPasteAll


Call HapusTransaksi
Call SimpanTanggal

STRUK.Offset(StartBaris, 0).Value = "Subtotal :"


STRUK.Offset(StartBaris + 1, 0).Value = "Pajak :"
STRUK.Offset(StartBaris + 2, 0).Value = "Total Bayar :"
STRUK.Offset(StartBaris + 3, 0).Value = "Terimakasih Atas Kunjungan Anda"

STRUK.Offset(StartBaris, 3).Value = CDec(Me.TXTTOTAL.Value)


STRUK.Offset(StartBaris + 1, 3).Value = Val(Me.TXTPAJAK.Value) / 100
STRUK.Offset(StartBaris + 2, 3).Value = CDec(Me.TXTGRANDTOTAL.Value)

Sheet6.Range("D11:E1000").NumberFormat = "#,##0"
STRUK.Offset(StartBaris + 1, 3).Style = "Percent"

Sheet6.PrintOut
Sheet6.Range("B11:E1000").ClearContents
FORMUTAMA.TXTPESANMEJA.Value = ""
FORMUTAMA.TXTQTY.Value = ""
FORMUTAMA.TXTNOMOR1.Value = ""
DATAMEJA.Offset(0, 1).Value = "Ready"
Unload Me
End Sub

Private Sub TXTPAJAK_Change()


On Error Resume Next
Dim DTOTAL As Long
DTOTAL = Val(CDec(Me.TXTTOTAL.Value)) * (Val(Me.TXTPAJAK.Value) / 100)
Me.TXTGRANDTOTAL.Value = Format(Val(CDec(Me.TXTTOTAL.Value)) + DTOTAL, "#,###")
End Sub

Private Sub UserForm_Initialize()


Me.BackColor = RGB(49, 55, 94)
Me.TXTTANGGAL.Value = Now
Call AmbilPesanan
Call HitungTotal
End Sub
Private Sub AmbilPesanan()
Dim DBPESANAN As Long
Dim irow As Long
With ActiveSheet
irow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
DBPESANAN = Application.WorksheetFunction.CountA(ActiveSheet.Range("A2:A1000"))
If DBPESANAN = 0 Then
Me.TABELBAYAR.RowSource = ""
Else
Me.TABELBAYAR.RowSource = "A2:F" & irow
End If
End With
End Sub

Sub DynamicRange()
Dim sht As Worksheet
Dim LastRow As Long
Dim LastColumn As Long
Dim StartCell As Range

Set sht = ActiveSheet


Set StartCell = Range("B2")

LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row


LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column

sht.Range(StartCell, sht.Cells(LastRow, LastColumn)).Copy

End Sub
Sub HapusTransaksi()
Dim sht As Worksheet
Dim LastRow As Long
Dim LastColumn As Long
Dim StartCell As Range

Set sht = ActiveSheet


Set StartCell = Range("A2")

LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row


LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column

sht.Range(StartCell, sht.Cells(LastRow, LastColumn)).Select


Selection.DELETE
End Sub
Sub SimpanTanggal()
Dim x As Integer
For x = 1 To WorksheetFunction.CountA(Sheet6.Range("B11:B1000"))
Dim HasilTransaksi As Object
Set HasilTransaksi = Sheet5.Range("A800000").End(xlUp)
HasilTransaksi.Offset(1, 0).Value = "=ROW()-ROW($A$5)"
HasilTransaksi.Offset(1, 1).Value = Date
HasilTransaksi.Offset(1, 2).Value = Me.TXTMEJA.Value
Next
End Sub
Private Sub HitungTotal()
Dim MySum As Double
Dim r As Long
MySum = 0
With TABELBAYAR
For r = 0 To .ListCount - 1
MySum = MySum + .List(r, 4)
Next r
End With

Me.TXTTOTAL.Value = Format(MySum, "#,###")

End Sub

You might also like