ตัวอย่างที่ 2 : ต้องการจัดเก็บแฟ้ม โดยใช้ชื่อแฟ้มตามค่าที่อยู่ในเซลล์ A1

ตัวอย่างนี้ต้องการให้รหัสทำงานคล้ายกับตัวอย่างแรก เพียงแต่คราวนี้ให้เปลี่ยนชื่อแฟ้มแทนที่จะเป็นชื่อชีท

ขั้นที่ 1 : ขอให้ลองเขียนรหัสเองขึ้นมา โดยเลียนแบบตัวอย่างแรก

Sub RenameWorkbook()
    ActiveWorkbook.Name = Range("A1")
End Sub

เมื่อสั่ง Run จะพบว่ารหัสชุดนี้ไม่ทำงาน โดยมีคำเตือนว่า Compile error ในขั้นนี้ไม่ต้องสนใจว่า Compile error คืออะไร เพียงขอให้สังเกตว่า รหัสไม่ทำงาน แสดงว่าต้องมีอะไรที่ผิดพลาด และถ้าสังเกตต่อให้ดีจะพบว่าเมื่อคลิก OK ออกจากคำเตือน Compile error แล้ว VBE จะเลือกคำว่า .Name ไว้ เป็นอาการที่ชี้ให้เราเห็นว่า ส่วนที่ผิดพลาดน่าจะเป็นส่วนของคำว่า .Name นี่เอง

image009

ทุกครั้งที่รหัสไม่ทำงาน ให้คลิกปุ่ม Reset ซึ่งเป็นปุ่มสี่เหลี่ยมบนเมนูก่อน มิฉะนั้นจะทำอย่างอื่นต่อไม่ได้เลย

ขั้นที่ 2 : ใช้ Recorder บันทึกการสั่ง File > Save as เป็นชื่อแฟ้มใหม่ สมมติให้ใช้ชื่อว่า MyMonth.xls จะได้รหัส VBA :

ActiveWorkbook.SaveAs Filename:= _
"C:\MyMonth.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False _
, CreateBackup:=False

ขั้นที่ 3 : ทดลองตัดรหัสในขั้นที่ 2 ให้สั้นลงเหลือเท่าที่ตรงกับการจัดเก็บแฟ้มตามชื่อที่ต้องการ แล้วทดสอบว่ารหัสใหม่นี้ทำงานได้หรือไม่ ซึ่งจะพบว่ารหัสทำงาน เพียงแต่จะถูกถามว่า ต้องการให้ต้องการจัดเก็บในชื่อนี้หรือไม่ เพราะมีแฟ้มชื่อนี้อยู่แล้ว

ActiveWorkbook.SaveAs Filename:="MyMonth.xls"

ขั้นที่ 4 : ย้อนกลับไปแก้รหัสในขั้นที่ 1 แล้วจะพบว่ารหัสทำงานได้ตามต้องการ

Sub RenameWorkbook()
    ActiveWorkbook.SaveAs Filename: = Range("A1")
End Sub

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234