สอบถาม การสั่งให้ VBA เลือกไม่ Save ไฟล์ที่สั่งให้ VBA เปิดไฟล์มาเพื่อคัดลอกข้อมูล
เนื่องจากผมต้องการดึงฐานข้อมูลจากไฟล์ database ไปยังไฟล์ Invoice เพื่อจะใช้ Vlookup หรือ Xlookup ครับ
ผมลองใช้สูตรด้านล่างแล้ว จะขึ้น pop-up ให้เลือก Save หรือ ไม่ Save ทุกครั้ง เนื่องจากไฟล์ sheet ในไฟล์ database มีการ lock sheet ไว้ และผมลองไม่ lock sheet ปรากฎว่าไม่มี pop-up ใดๆเด้งมาถามครับ VBA ทำงานได้ปกติ
ผมจึงสรุปได้ว่าน่าจะเป็นเพราะไฟล์ที่ไป copy ข้อมูลมามีการ Lock Sheet ผมเลยอยากมาถามว่ามีวีธีการไหน ให้ VBA มันเลือก ไม่ Save ไฟล์ database รึเปล่าครับ
ปล.ผมได้แนบไฟล์ .rar ไว้แล้วนะครับ
Code: Select all
Option Explicit
Dim Data_Folder As String
Dim File_Name As String
Dim Data_Workbook As Variant
Sub Update_Database()
Clear_Existed_Data
Update_Data
End Sub
Private Sub Clear_Existed_Data()
Application.ScreenUpdating = False
Range("Table_DB").ClearContents
Sheets("DB_Product").ListObjects("Table_DB").Resize Range("$A$4:$F$5")
End Sub
Private Sub Update_Data()
Set Data_Workbook = Workbooks.Open(ActiveWorkbook.Path & "\" & ActiveSheet.[Data_Folder] & "\" & ActiveSheet.[File_Name], , True)
ActiveWorkbook.Worksheets("DB_Product").Select
Range("Table_DB[[Barcode]:[Product Code]],Table_DB[[Detail]:[Created Date]]").Copy
Windows("Invoice.xlsm").Activate
Range("A5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Data_Workbook.Close
Application.ScreenUpdating = True
End Sub