VBA Getsheet ต้องการให้ชื่อชีทเปลี่ยนไปตามชื่อไฟล์ที่ดึงมา
Posted: Wed Nov 02, 2016 11:53 am
สวัสดีค่ะอาจารย์
ตอนนี้ดิฉันมีไฟล์ที่ต้องดึงมาเพื่อรันมาโคร แต่พอใช้คำสั่ง Getsheet มาแล้วปรากฎว่าชื่อชีทจะเป็น Sheet(1),Sheet(2),... แบบนี้ต่อกันไป (เพิ่ม 12 ไฟล์ต่อครั้ง)
ถ้าดิฉันอยากให้ชื่อชีทตรงกับชื่อไฟล์ที่ดึงมาต้องใช้คำสั่งอะไรคะ ตอนนี้มานั่งเปลี่ยนเองเสียเวลามากค่ะ ตัวอย่างไฟล์แนบค่ะ
ขอบคุณค่ะ
p_d
ตอนนี้ดิฉันมีไฟล์ที่ต้องดึงมาเพื่อรันมาโคร แต่พอใช้คำสั่ง Getsheet มาแล้วปรากฎว่าชื่อชีทจะเป็น Sheet(1),Sheet(2),... แบบนี้ต่อกันไป (เพิ่ม 12 ไฟล์ต่อครั้ง)
ถ้าดิฉันอยากให้ชื่อชีทตรงกับชื่อไฟล์ที่ดึงมาต้องใช้คำสั่งอะไรคะ ตอนนี้มานั่งเปลี่ยนเองเสียเวลามากค่ะ ตัวอย่างไฟล์แนบค่ะ
Code: Select all
Sub GetSheets()
Path = "D:\GETMONTH\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
Application.DisplayAlerts = False
Sheet1.Delete
End Sub
p_d