Salam mas Mr.Kid....
Akhirnya setelah ngulik2 dan ngubek2 formulanya Mr.Kid dan dimodifikasi
sana-sini VBnya, selesai juga Point of Sales yg saya inginkan... Makasi banyak
mas Mr.Kid... d^^b
Hanya ada sedikit lagi yg ingin saya tanyakan nih.
1. Jika data transaksi di input tidak di baris pertama, tapi di baris kedua
akan muncul msgbox "data ada yg kurang". Apakah harus diinput sesuai baris
(baris 1, lalu baris 2, dst)? Mengapa tidak bisa sembarang (baris 1 kosong,
baris 2 input)?
2. saya memodifikasi tombol VB mas Mr.Kid sehingga bisa melakukan 2 inputan di
sheet yg sama dalam cell range yg berbeda dengan menggunakan satu tombol
"simpan" saja. Jadi seperti ini VB tombol simpannya:
Private Sub CommandButton3_Click()
Dim lOffset As Long
Dim rngData As Range
Dim sMsg As String
Dim lNewRec As Long
Dim shtTrn As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
'LIST-TRX
Set shtTrn2 = Sheets("ListTrx")
shtTrn2.Visible = xlSheetVisible
ActiveSheet.Calculate
lOffset = Range("L3").Value
'copy formula validasi
lNewRec = Range("L5").Value
If lNewRec > 0 Then
Range("O3:W3").Copy Range("O6").Resize(lNewRec)
ActiveSheet.Calculate
End If
'cek hasil validasi
Set rngData = Range("O5")
If rngData.Value <> 0 Then
rngData.Offset(1, 2).CurrentRegion.Copy
shtTrn2.Range("a1").Offset(lOffset).PasteSpecial
xlPasteValuesAndNumberFormats
sMsg = "Terima Kasih"
lOffset = vbInformation
Range("B6:B10").ClearContents
Range("O6:W10").ClearContents
Else
sMsg = "Transaksi Batal?"
lOffset = vbCritical
End If
ActiveSheet.Calculate
MsgBox sMsg, lOffset, "Kode Transaksi"
shtTrn2.Visible = xlSheetVeryHidden
'CUST-TRX
Set shtTrn3 = Sheets("CustTrx")
shtTrn3.Visible = xlSheetVisible
ActiveSheet.Calculate
lOffset = Range("M3").Value
'copy formula validasi
lNewRec = Range("M5").Value
If lNewRec > 0 Then
Range("O12:Y12").Copy Range("O14").Resize(lNewRec)
ActiveSheet.Calculate
End If
'cek hasil validasi
Set rngData = Range("O13")
If rngData.Value <> 0 Then
rngData.Offset(1, 2).CurrentRegion.Copy
shtTrn3.Range("a1").Offset(lOffset).PasteSpecial
xlPasteValuesAndNumberFormats
sMsg = "Terima Kasih"
lOffset = vbInformation
Range("B14:B21").ClearContents
Range("E14:E21").ClearContents
Range("O14:Y21").ClearContents
Else
sMsg = "TIDAK ADA CUSTOMER?"
lOffset = vbCritical
End If
ActiveSheet.Calculate
MsgBox sMsg, lOffset, "Kode Customer"
shtTrn3.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Problem VB yg terjadi sbb: jika pada kolom inputan List Transaksi belum di
input (masih kosong) dan tombol "simpan" diklik akan keluar message box
"Transaksi Batal?". Ketika tombol OK diklik, proses VB akan berlanjut ke
inputan Customer Transaksi. Jika kolom Customer Transaksi sudah diinput, proses
akan berlanjut ke akhir dan data inputan kolom Customer Trx tersimpan.
Pertanyaannya: bagaimana caranya memunculkan mesage box dengan pilihan OK untuk
lanjut ke proses berikutnya dan cancel untuk membatalkan proses VB yg terjadi
setelah tombol "simpan" di klik jika salah satu kolom input belum terisi?
Seperti apa kode IF...THEN...nya? Mohon pencerahan lagi nih mas...
Makasi atas perhatiannya dan pencerahannya,
Wassalam