บ่อยครั้ง ผู้ใช้ต้องการการรีเฟรชไฟล์ Excel อัตโนมัติที่มีฟังก์ชันระเหยหรือการเชื่อมต่อคิวรี เฉพาะ มาโคร VBA ทำการรีเฟรชไฟล์ Excel อัตโนมัติโดยไม่ต้องเปิด การเชื่อมต่อแบบสอบถามสำหรับการรีเฟรชอัตโนมัติไม่สนับสนุนการรีเฟรชอัตโนมัติสำหรับไฟล์ที่ปิด คุณสมบัติการเชื่อมต่อคิวรีสามารถรีเฟรชข้อมูลของไฟล์ Excel ที่เปิดอยู่โดยอัตโนมัติหลังจากช่วงเวลาที่กำหนดไว้เท่านั้น กระบวนการคือ xlsm . อื่น ไฟล์ Excel เรียกใช้แมโครเพื่อรีเฟรชอัตโนมัติสำหรับไฟล์ Excel ที่ปิดไปแล้วที่ได้รับมอบหมาย ในบทความนี้ เราสาธิตการใช้มาโครสองตัวเพื่อรีเฟรชไฟล์ Excel อัตโนมัติโดยไม่ต้องเปิด
ดาวน์โหลดสมุดงาน Excel
ตัวช่วย ไฟล์ Macro Excel เรียกใช้แมโครเพื่อรีเฟรชไฟล์เป้าหมายหรือไฟล์เป้าหมายโดยอัตโนมัติ
2 วิธีง่ายๆ ในการรีเฟรชไฟล์ Excel อัตโนมัติโดยไม่ต้องเปิด
ไฟล์ Excel อื่นเรียกใช้มาโครที่เปิดและปิดไฟล์ Excel ที่กำหนดเพื่อรีเฟรชอัตโนมัติโดยการเปิด ตั้งแต่ “นับถอยหลัง ” ไฟล์ Excel มีฟังก์ชันที่อัปเดตเมื่อเปิด
ผ่านส่วนด้านล่างเพื่อให้สามารถรีเฟรชไฟล์ Excel โดยอัตโนมัติ โดยไม่ต้องเปิด
วิธีที่ 1:การใช้มาโคร VBA เพื่อรีเฟรชไฟล์ Excel ที่ระบุโดยอัตโนมัติโดยไม่ต้องเปิด
นับถอยหลัง ไฟล์ Excel มี TODAY() และ ตอนนี้() ฟังก์ชันนับถอยหลังแบบเรียลไทม์ เราต้องการรีเฟรชค่าของฟังก์ชันโดยอัตโนมัติโดยไม่ต้องเปิดไฟล์
ขั้นตอน: ใช้ไฟล์ Excel อื่นเพื่อแทรก Visual Basic Module (Alt+F11 > แทรก> โมดูล หรือ นักพัฒนา แท็บ> มาโครภาพ> แทรก> โมดูล ). ในโมดูล ให้วางมาโครต่อไปนี้
Public Sub AutoRefreshClosedFile()
FilePath = "C:\Users\maruf\Desktop\Softeko\Auto Refresh Excel File Without Opening\Countdown"
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
Workbooks.Open FilePath
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.Close True
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.AskToUpdateLinks = True
End With
End Sub
คำอธิบายมาโคร
- ตั้งค่า เส้นทางไฟล์ ภายในเครื่องสำหรับการรีเฟรชอัตโนมัติ
- VBA กับ คำสั่งรันคำสั่งหลายคำสั่งเพื่อไม่ให้แก้ไขไฟล์
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
- เปิด เปิดไฟล์ที่ได้รับมอบหมาย
- ปิด ปิดไฟล์ที่เปิดอยู่
- อีก VBA กับ อัปเดตไฟล์หลังจากรีเฟรชอัตโนมัติ
- กด F5 เพื่อเรียกใช้แมโคร Excel เปิด Countdown.xlsx ไฟล์. เนื่องจากไฟล์มีฟังก์ชันที่ไม่แน่นอน เช่น TODAY() และ ตอนนี้() ไฟล์จะได้รับการรีเฟรชอัตโนมัติเมื่อเปิดในพื้นหลัง คุณสามารถตรวจสอบผลลัพธ์ได้โดยเปิดไฟล์อีกครั้ง
⧭เคล็ดลับ: ในกรณีที่ผู้ใช้จำเป็นต้องรีเฟรชไฟล์ Excel ที่เปิดอยู่โดยอัตโนมัติ ให้ใช้มาโครต่อไปนี้หรือเพียงแค่บรรทัดมาโครพร้อมคำสั่ง แน่นอน เปลี่ยน ช่วง (เช่น A1:D14 ) และระยะเวลาของการรีเฟรชอัตโนมัติ (เช่น “s”, 30 ) โดยใช้ Application.OnTime ในมาโคร
Sub AutoCalculationRange()
Range("A1:D14").Calculate
Application.OnTime DateAdd("s", 30, Now), "AutoCalculationRange"
End Sub
อ่านเพิ่มเติม: วิธีการรีเฟรชแผ่นงาน Excel โดยอัตโนมัติโดยใช้ VBA (4 วิธี)
การอ่านที่คล้ายกัน
- วิธีการรีเฟรช Pivot Table อัตโนมัติโดยไม่ต้องใช้ VBA ใน Excel (วิธีอัจฉริยะ 3 วิธี)
- [แก้ไขแล้ว!] เซลล์ Excel ไม่อัปเดตเว้นแต่ดับเบิลคลิก (5 โซลูชัน)
- วิธีการรีเฟรชแผนภูมิใน Excel (2 วิธีที่มีประสิทธิภาพ)
- วิธีอัปเดตตาราง Pivot โดยอัตโนมัติเมื่อแหล่งข้อมูลมีการเปลี่ยนแปลง
วิธีที่ 2:การรีเฟรชอัตโนมัติสำหรับไฟล์ Excel ทั้งหมดภายในโฟลเดอร์
ทางเลือกแทนวิธีที่ 1 ผู้ใช้สามารถรีเฟรชไฟล์ Excel ทั้งหมดภายในโฟลเดอร์โดยอัตโนมัติ การเรียกใช้แมโครนี้จะทำให้ผู้ใช้สามารถเปิดได้ ดังนั้นจะรีเฟรชไฟล์ Excel ภายในโฟลเดอร์ที่กำหนดโดยอัตโนมัติ
ขั้นตอน: แทนที่มาโครก่อนหน้าด้วยอันหลัง
Public Sub AutoRefreshFolder()
Dim mrf As Object
Dim mfolder As Object
Dim mfile As Object
mPath = "C:\Users\maruf\Desktop\Softeko\Auto Refresh Excel File Without Opening\"
Set mrf = CreateObject("Scripting.FileSystemObject")
Set mfolder = mrf.GetFolder(mPath)
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
For Each mfile In mfolder.Files
If Right(mfile.Name, 4) = "xlsx" Or Right(mfile.Name, 3) = "xlsx" Then
Workbooks.Open mPath & mfile.Name
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.Close True
End If
Next
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.AskToUpdateLinks = True
End With
End Sub
คำอธิบายมาโคร
- อ้างถึงตัวแปรเป็น Object .
Dim mrf As Object
Dim mfolder As Object
Dim mfile As Object
- ตั้งค่า mPath เพื่อระบุโฟลเดอร์เฉพาะ
- VBA กับ คำสั่งรันคำสั่งหลายคำสั่งโดยไม่ต้องแก้ไขไฟล์
- VBA สำหรับ และถ้า ผ่านแต่ละ xlsx ไฟล์เพื่อเปิดและปิดจากระยะไกล
For Each mfile In mfolder.Files
If Right(mfile.Name, 4) = "xlsx" Or Right(mfile.Name, 3) = "xlsx" Then
Workbooks.Open mPath & mfile.Name
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.Close True
End If
Next
- สุดท้าย มาโครจะรีเฟรชไฟล์โดยอัตโนมัติโดยใช้ VBA WITH .
- ไปที่ เรียกใช้> เรียกใช้ Sub/UserForm F5 เพื่อรีเฟรชไฟล์ภายในโฟลเดอร์โดยอัตโนมัติ สำหรับไฟล์ที่เปิด กด F9 เพื่อรีเฟรชเวิร์กชีตที่ใช้งานอยู่ สุดท้าย ผลลัพธ์คล้ายกับ วิธีที่ 1 สำเร็จ
อ่านเพิ่มเติม:วิธีรีเฟรช Pivot Table อัตโนมัติโดยไม่ต้องใช้ VBA ใน Excel (วิธีอัจฉริยะ 3 วิธี)
บทสรุป
บทความนี้กล่าวถึงตัวแปรมาโครเพื่อรีเฟรชไฟล์ Excel อัตโนมัติโดยไม่ต้องเปิด ใช้มาโครที่อธิบายไว้ในการดำเนินการดังกล่าว เราหวังว่ามาโครเหล่านี้จะเปิด xlsx และรีเฟรชไฟล์โดยอัตโนมัติ
ลองดูเว็บไซต์ที่ยอดเยี่ยมของเรา Exceldemy เพื่อค้นหาบทความที่น่าสนใจใน Excel
บทความที่เกี่ยวข้อง
- [แก้ไขแล้ว]:สูตร Excel ไม่อัปเดตจนกว่าจะบันทึก (6 วิธีที่เป็นไปได้)
- วิธีปิดใช้งานการรีเฟรชพื้นหลังใน Excel (2 วิธีที่มีประโยชน์)
- วิธีการรีเฟรช Pivot Table ใน Excel (4 วิธีที่มีประสิทธิภาพ)
- VBA เพื่อรีเฟรช Pivot Table ใน Excel (5 ตัวอย่าง)
- วิธีการอัปเดตอัตโนมัติด้วยช่วงเวลา 5 วินาทีใน Excel
- ตาราง Pivot ไม่รีเฟรช (5 ปัญหาและวิธีแก้ไข)
- วิธีการรีเฟรช Pivot Table อัตโนมัติใน Excel (2 วิธี)