Page 1 of 1

ไม่สามารถปิด file ที่ใช้คำสั่งเปิดขึ้นมาได้

Posted: Fri Jan 24, 2014 10:13 am
by RoBBie
สวัสดีครับ ผนรบกวนปรึกษาหน่อยครับ เนื่องจาก ผมต้องการใช้ข้อมูลจากหลายๆไฟล์มารวมไว้ในไฟล์เดียว เพื่อการวิเคราะห์ และทำให้สะดวกสบายขึ้น
ดังนั้นผมต้องการให้เปิดไฟล์ใน Folder ที่กำหนดขึ้นมา และไฟล์เหล่านั้นมีชื่อไม่เหมือนกัน (ชื่อสามารถยืดหยุ่นได้) เพื่อทำการ Copy ข้อมูล จากนั้น
ให้ทำการปิดไฟล์ที่เปิดขึ้นมา
ปัญหา
1.ไม่สามารถปิดไฟล์เหล่านั้นได้ เนื่องจาก ไม่รู้จะอ้างอิงจากอะไร (คิดไม่ออก)
รบกวนให้คำแนะนำด้วยครับ

Code: Select all

Sub choose_all()
Path = "E:\excel\Tool kit\"
Myfile = Dir(Path & "\" & "*.xlsx")
Do While Myfile <> vbNullString
If ActiveWorkbook.Name <> Myfile And Myfile <> "" Then
Workbooks.Open Filename:=Path & "\" & Myfile
ActiveWorkbook.Activate
Range("A1").Copy
Windows("Toolkit.xlsm").Activate
Range("F5").Paste
 'ตรงนี้ที่ไม่สามารถปิดได้
End If
Myfile = Dir
Loop
End Sub

Re: ไม่สามารถปิด file ที่ใช้คำสั่งเปิดขึ้นมาได้

Posted: Fri Jan 24, 2014 2:52 pm
by RoBBie
ปล.ครับ ไฟล์ ที่เป็น .xlsx ผมให้อยู่ใน Drive E:\Tool kit นะครับ

Re: ไม่สามารถปิด file ที่ใช้คำสั่งเปิดขึ้นมาได้

Posted: Fri Jan 24, 2014 6:59 pm
by snasui
:D กรณีต้องการปิดไฟล์ที่เปิดขึ้นมาสามารถใช้ Code นี้ได้ครับ Workbooks(myfile).Close False

Re: ไม่สามารถปิด file ที่ใช้คำสั่งเปิดขึ้นมาได้

Posted: Fri Jan 24, 2014 10:25 pm
by RoBBie
ขอบคุณมากครับสำหรับคำแนะนำ ใช้งานได้ดี สมองแล่นเลย