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

Kirim email ke