เขียน Code ดัก error
Posted: Fri Aug 17, 2018 11:27 pm
รบกวนสอบถามครับ ผมเขียนคำสั่งให้เปิดไฟล์ DataBase.xlsx ซึ่ง Share ไฟล์ไว้ครับ เมื่อเปิดไฟล์แล้วจะบันทึกข้อมูลแล้วทำการ Save และปิดไฟล์ไปครับ จะมี user ใช้ประมาณ 5-6คนครับ บางครั้งจะเกิดการบันทึกพร้อมกันในcellเดียวกัน ก้จะ Error ครับ ถ้าผมอยากจะกันไม่ให้ บันทึกไฟล์พร้อมกัน หรือเมื่อเกิด errorก็ให้กลับไปทำการบันทึกใหม่ โดยบอกว่าเกิดerrorให้บันทึกข้อมูลอีกครั้งครับ ผมจะใช้ Code On Error Goto ได้มั้ยครับ แล้วจะต้องแทรกใน Code ช่วงไหนครับ
Code: Select all
Sub Macro2()
'
' Macro1 Macro
'
'
Set rg = Range("T9")
Set rg = Range("T17")
rg.Activate
If Application.CountA(Range("T9")) = 0 Then
MsgBox "กรุณากรอกข้อมูลให้ครบ"
Exit Sub
End If
rg.Activate
If Application.CountA(Range("T17")) = 0 Then
MsgBox "กรุณาระบุสถานที่ส่งของ"
Exit Sub
End If
Dim x As Integer
x = MsgBox("ต้องการพิมพ์ใบจ่ายงาน ใช่หรือไม่", vbOKCancel)
If x = vbCancel Then
Sheets("Sheet1").Select
Else
MsgBox "ใส่ใบจ่ายงานด้วยครับ"
ActiveSheet.Unprotect Password:="1234"
'Range("K42") = Range("K42") + 1
'บันทึก DataBase
Application.Goto Reference:="OFFSET(R9C30,1,0,COUNTA(C1)-1,33)"
Selection.Copy
Workbooks.Open Filename:="\\ACCOUNT\Data (D)\SALE\DataBase.xlsx"
Sheets("Sheet1").Select
Application.Goto Reference:="OFFSET(R1C1,COUNTA(C1),0)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
ThisWorkbook.Activate