หน้าเว็บ

วันเสาร์ที่ 30 มีนาคม พ.ศ. 2556

การลบ Style จำนวนมากในคราวเดียวด้วย VBA

Smile กรณีทีใช้ Excel 2007+ แล้ว Save กลับมาเป็น Excel 2003- บางครั้งจะพบปัญหาว่ามี Format มากเกินกว่าข้อจำกัดของ Excel 2003- ทำให้เปิดไฟล์ไม่ได้ โปรแกรมจะฟ้องว่า Too many difference formats เนื่องจาก Excel 2003- นั้นมี Style ได้แค่ 4,000 แบบเท่านั้น แต่ Excel 2007+ สามารถมีได้ถึง 64,000 แบบ

Styles ได้แก่การจัดรูปแบบเซลล์ทั้งหลาย ไม่ว่าจะเป็นตัวหนา ตัวเอียง ตัวบาง ขีดเส้นใต้ สีตัวอักษร สีเซลล์ ขนาดตัวอักษร ฯลฯ หากทำไว้หลากหลายจนเกินข้อจำกัดที่มีไห้ก็เป็นปัญหาตามด้านบนและทำงานต่อไม่ได้ครับ

การลบ Style มาก ๆ ด้วยมือนั้นย่อมไม่สะดวก เราสามารถใช้ Code ด้านล่างเพื่อลบ Style ทั้งหมดพร้อมกันทีเดียวได้ครับ Thumbs up

Sub DelAllStyles()
Dim s As Style
On Error Resume Next
For Each s In ThisWorkbook.Styles
s.Delete
Next s
End Sub


กรณีใช้ Excel 2003- หลังจากลบออกด้วย Code แล้วให้จัดรูปแบบใหม่ให้เหลือเฉพาะที่จำเป็นก็พอครับ Winking smile

ไม่มีความคิดเห็น: