สารบัญ
ในบทความนี้ ฉันจะแสดงวิธีตรึงบานหน้าต่างของแผ่นงาน Excel ด้วย Visual Basic of Applications (VBA) หลายครั้งในขณะที่ทำงานใน Excel เราจำเป็นต้องตรึงบานหน้าต่าง ของใบงานเพื่อความสะดวกและประสบการณ์ที่ดียิ่งขึ้น วันนี้คุณจะได้เรียนรู้วิธีทำให้สำเร็จด้วย VBA .
ตรึงบานหน้าต่างด้วย VBA ใน Excel (Quick View)
9110
<5 ดาวน์โหลดแบบฝึกหัดแบบฝึกหัด
ดาวน์โหลดแบบฝึกหัดแบบฝึกหัดนี้เพื่อฝึกขณะที่คุณกำลังอ่านบทความนี้
VBA Freeze Panes.xlsm
ความรู้เบื้องต้นเกี่ยวกับ Excel Freeze Panes
ใน Microsoft Excel การตรึงช่องหมายถึงการ ตรึงแถวหรือคอลัมน์ หรือทั้งสองอย่างในลักษณะดังกล่าว แม้ว่าคุณจะเลื่อนแถบเลื่อนลงหรือเลื่อนไปทางขวา แถวหรือคอลัมน์นั้นก็จะมองเห็นได้เสมอ โดยปกติจะทำกับแถวหรือคอลัมน์ที่มีส่วนหัวของชุดข้อมูล
ตัวอย่างเช่น ดูที่ชุดข้อมูลด้านล่าง ที่นี่เราได้ตรึงเวิร์กชีตจนถึงแถว 3 ( ปี ) และคอลัมน์ B ( ชื่อผลิตภัณฑ์ )
เมื่อเราเลื่อนแผ่นงานลงมาโดยเลื่อนแถบเลื่อน เราจะพบว่าแถวจนถึงแถว 3 มองเห็นได้เสมอ
<0เหมือนกันสำหรับคอลัมน์ B ขณะที่เราเลื่อนไปทางขวา
ตอนนี้ หากต้องการหยุดบานหน้าต่างในแผ่นงานด้วยตนเอง เลือกเซลล์ที่อยู่หลังแถวและคอลัมน์ (เซลล์ C4 ในตัวอย่างนี้) และไปที่ ดู >ตรึงบานหน้าต่าง > ตรึงบานหน้าต่าง ในแถบเครื่องมือ Excel
หากต้องการตรึงเฉพาะแถว ให้เลือกทั้งแถวแล้วไปที่ ดู > ตรึงบานหน้าต่าง > ตรึงแผง ในแถบเครื่องมือ Excel
ในทำนองเดียวกัน หากต้องการตรึงเฉพาะคอลัมน์ ให้เลือกทั้งคอลัมน์แล้วไปที่ ดู > ตรึงบานหน้าต่าง > ตรึงบานหน้าต่าง ในแถบเครื่องมือ Excel
⧭ หมายเหตุ:
- เลือก ตรึงแถวบนสุด เพื่อตรึงเฉพาะแถวบนสุด
- ในทำนองเดียวกัน เลือก ตรึงคอลัมน์แรก เพื่อตรึงเฉพาะคอลัมน์แรก
5 วิธีการตรึงบานหน้าต่างด้วย VBA ใน Excel
เราได้เรียนรู้ว่าการตรึงบานหน้าต่างใน Excel คืออะไร และวิธีทำให้สำเร็จด้วยตนเอง ตอนนี้ ไปที่การสนทนาหลักของเราในวันนี้ วิธีตรึงบานหน้าต่างด้วย VBA .
1. ตรึงเฉพาะแถวด้วย VBA ใน Excel
ก่อนอื่น เรามาดูวิธีตรึงเฉพาะแถวด้วย VBA
ตามที่กล่าวไว้ก่อนหน้านี้ เพื่อ ตรึงเฉพาะแถว ขั้นแรกคุณต้องเลือกทั้งแถวด้านล่างแถวที่จะตรึง (แถว 4 ในตัวอย่างนี้)
จากนั้นคุณจะต้องใช้ ตรึงบานหน้าต่าง คำสั่ง
ดังนั้น VBA รหัสจะเป็น:
⧭ รหัส VBA:
9490
⧭ เอาต์พุต:
รันโค้ดนี้ และคุณจะพบว่าเวิร์กชีตที่ใช้งานค้างอยู่ที่แถว 3
⧭ หมายเหตุ:
- ในที่นี้ เราได้ใช้เซลล์ C4 เพื่อเลือกเซลล์ใดๆ ของแถว 4 ของแผ่นงาน คุณเลือกตามความต้องการของคุณ
- บรรทัดสุดท้ายของรหัส ช่วง(“C4”) เลือก มีวัตถุประสงค์เพื่อยกเลิกการเลือกทั้งแถว 4 ( การยกเลิกการเลือกใด ๆ หมายถึงการเลือกใหม่ เช่นเดียวกับใน Excel จะต้องเลือกบางอย่างไว้) คุณสามารถข้ามบรรทัดนี้ได้หากต้องการ
อ่านเพิ่มเติม: วิธีตรึงแถวบนสุดใน Excel (4 วิธีง่ายๆ)
2. ตรึงเฉพาะคอลัมน์ด้วย VBA ใน Excel
เราได้เห็นวิธีการตรึงแถวด้วย VBA ทีนี้มาดูวิธีการตรึงคอลัมน์ด้วย VBA .
คล้ายกับแถว หากต้องการตรึงเฉพาะคอลัมน์ ก่อนอื่นคุณต้องเลือกทั้งคอลัมน์ด้านขวาของคอลัมน์ที่จะตรึง (คอลัมน์ C ในตัวอย่างนี้)
จากนั้นคุณจะต้องใช้คำสั่ง หยุดบานหน้าต่าง
ดังนั้น VBA รหัสจะเป็น:
⧭ รหัส VBA:
8873
⧭ เอาต์พุต:
เรียกใช้รหัสนี้ และคุณจะพบว่าเวิร์กชีตที่ใช้งานค้างอยู่ที่คอลัมน์ C
⧭ หมายเหตุ:
- ในที่นี้เราใช้เซลล์ C4 เพื่อเลือกเซลล์ใดๆ ของคอลัมน์ C ของแผ่นงาน คุณเลือกได้ตามความต้องการ
- บรรทัดสุดท้ายของรหัส Range(“C4”) Select มีวัตถุประสงค์เพื่อยกเลิกการเลือกทั้งคอลัมน์ C (การยกเลิกการเลือกใด ๆ หมายถึงการเลือกการเลือกใหม่ เช่นเดียวกับใน Excel บางสิ่งจะต้องถูกเลือกไว้) คุณสามารถข้ามบรรทัดนี้ได้หากต้องการ
อ่านเพิ่มเติม: วิธีตรึง 2 คอลัมน์ใน Excel (5 วิธี)
3. ตรึงทั้งแถวและคอลัมน์ด้วย VBA ใน Excel
เราได้เห็นวิธีตรึงแถวและคอลัมน์แยกกันแล้ว คราวนี้มาดูวิธีตรึงทั้งแถวและคอลัมน์พร้อมกัน
หากต้องการตรึงทั้งแถวและคอลัมน์พร้อมกัน คุณต้องเลือกเซลล์ด้านล่างแถวที่จะตรึงและชิดขวาของคอลัมน์ จะถูกแช่แข็ง (เซลล์ C4 ในตัวอย่างนี้)
จากนั้น คุณต้องใช้คำสั่ง ตรึงบานหน้าต่าง
ดังนั้น VBA รหัสจะเป็น:
⧭ รหัส VBA:
8795
⧭ เอาต์พุต:
เรียกใช้โค้ดนี้ และคุณจะพบว่าเวิร์กชีตที่ใช้งานอยู่ค้างอยู่ที่แถว 3 และคอลัมน์ C
⧭ หมายเหตุ:
- ที่นี่เราใช้เซลล์ C4 เพื่อเลือกเซลล์ด้านล่างแถว 3 และขวาไปยังคอลัมน์ B นั่นคือเซลล์ C4 คุณเลือกได้ตามความต้องการ
อ่านเพิ่มเติม: วิธีตรึงบานหน้าต่างที่เลือกใน Excel (10 วิธี)
การอ่านที่คล้ายกัน:
- วิธีตรึงหลายบานหน้าต่างใน Excel (4 เกณฑ์)
- แป้นพิมพ์ลัดเพื่อตรึงบานหน้าต่างใน Excel (3 เกณฑ์ทางลัด)<2
- วิธีตรึง 3 คอลัมน์แรกใน Excel (4 วิธีด่วน)
4. พัฒนา Userform เพื่อตรึงแผงด้วย VBA ใน Excel
เราได้เห็นวิธีตรึงแถวหรือคอลัมน์หรือทั้งแถวและคอลัมน์ด้วย VBA ในแผ่นงาน Excel แล้ว
ตอนนี้เราจะพัฒนา Userform เพื่อนำทั้งหมดงานที่แตกต่างกันภายในอินเทอร์เฟซเดียว
⧭ ทีละขั้นตอนในการพัฒนา Userform:
⧪ ขั้นตอนที่ 1:
- กด ALT+F11 บนแป้นพิมพ์เพื่อเปิด Visual Basic
- ในตัวแก้ไข Visual Basic ไปที่ แทรก > UserForm เพื่อแทรก Userform ใหม่
⧪ ขั้นตอนที่ 2:
- ฟอร์มผู้ใช้ ใหม่ที่เรียกว่า ฟอร์มผู้ใช้1 จะถูกสร้างขึ้นใน VBA
- ทางด้านซ้ายของ UserForm คุณจะได้ ToolBox เรียกว่า Control วางเมาส์เหนือกล่องเครื่องมือแล้วค้นหา กล่องข้อความ (TextBox1) หลังจากพบแล้ว ให้ลากไปด้านบนของ UserForm
- ในทำนองเดียวกัน ลาก ListBox ( ListBox1 ) ไปทางขวา กล่องข้อความ และ ปุ่มคำสั่ง (Commandbutton1) ที่มุมล่างขวาของ ฟอร์มผู้ใช้ เปลี่ยนการแสดงผลของ CommandButton เป็น ตกลง ฟอร์มผู้ใช้ ของคุณควรมีลักษณะดังนี้:
⧪ ขั้นตอนที่ 3:
แทรก โมดูล ( แทรก > โมดูล ) จากกล่องเครื่องมือ VBA
⧪ ขั้นตอนที่ 4 :
แทรกโค้ด VBA ต่อไปนี้ใน โมดูล .
1388
⧪ ขั้นตอนที่ 5:
ดับเบิลคลิกที่ ปุ่มคำสั่ง ที่แสดงเป็น ตกลง ส่วนย่อยส่วนตัวที่เรียกว่า CommandButton1_Click จะเปิดขึ้น ใส่รหัสต่อไปนี้ที่นั่น:
4240
⧪ ขั้นตอน6:
ดับเบิลคลิกที่ TextBox1 ในทำนองเดียวกัน ส่วนย่อยส่วนตัวที่เรียกว่า TextBox1_Change จะเปิดขึ้น ใส่รหัสต่อไปนี้ที่นั่น
8529
⧪ ขั้นตอนที่ 7:
ขณะนี้ ฟอร์มผู้ใช้ ของคุณพร้อมที่จะ ใช้. เลือกเซลล์ด้านล่างของแถวที่จะตรึงและขวาไปที่คอลัมน์ที่จะตรึง (เซลล์ C4 ที่นี่) และเรียกใช้ มาโคร ชื่อ Run_UserForm .
⧪ ขั้นตอนที่ 8:
- จะโหลด ฟอร์มผู้ใช้ คุณจะพบที่อยู่ของเซลล์ที่เลือก ( C4 ) ใน กล่องข้อความ ถ้าคุณต้องการ คุณสามารถเปลี่ยนแปลงสิ่งนี้
- จากนั้นเลือกหนึ่งในสามตัวเลือกที่มีอยู่ใน กล่องรายการ ที่นี่ฉันต้องการตรึงทั้งแถวและคอลัมน์ ดังนั้นฉันจึงเลือก ตรึงทั้งแถวและคอลัมน์ .
- จากนั้นคลิก ตกลง .
⧪ ขั้นตอนที่ 9:
คุณจะพบว่าเวิร์กชีตหยุดทำงานตามที่คุณต้องการ (ที่นี่ถูกตรึงไว้ที่แถว 3 และคอลัมน์ B )
เนื้อหาที่เกี่ยวข้อง: วิธีตรึงเฟรมใน Excel (6 เคล็ดลับด่วน)
5. ทางเลือกของบานหน้าต่างตรึงใน Excel: แบ่งหน้าต่างด้วย VBA
เราได้พูดถึง บานหน้าต่างตรึง ใน Excel มามากแล้ว ตอนนี้ เรามาดูทางเลือกที่มีประโยชน์มากสำหรับ บานหน้าต่างตรึง ใน Excel นั่นคือคำสั่ง แยกหน้าต่าง
คุณสามารถ ActiveWindow.SplitRow หรือ ActiveWindow.SplitColumn ใน VBA เพื่อแยกแผ่นงานตามแถวหรือตามคอลัมน์อย่างชาญฉลาด
ตัวอย่างเช่น หากต้องการแยกเวิร์กชีตจากแถว 3 ให้ใช้:
9839
ในทำนองเดียวกัน เพื่อแยกเวิร์กชีตจากคอลัมน์ B ใช้:
3289
⧭ รหัส VBA:
8057
⧭ เอาต์พุต:
เรียกใช้โค้ด ซึ่งจะแยกแผ่นงานที่ใช้งานอยู่จากแถว 3 และคอลัมน์ B
เนื้อหาที่เกี่ยวข้อง : วิธีการใช้ Custom Freeze Panes ใน Excel (3 วิธีง่ายๆ)
ข้อควรจำ
- ก่อนใช้ Freeze Panes ใน Excel คุณต้อง เลิกตรึงบานหน้าต่างตรึงทั้งหมด ที่ใช้ไปแล้ว มิฉะนั้น คำสั่ง ตรึงบานหน้าต่าง จะไม่ทำงาน
- คำสั่ง ตรึงบานหน้าต่าง จะไม่ทำงานผ่านเซลล์ ผสาน ดังนั้น ยกเลิกการผสาน ก่อนที่จะใช้คำสั่ง ตรึงบานหน้าต่าง ถ้ามี
บทสรุป
ดังนั้น เป็นวิธีการใช้ Freeze Panes กับ VBA ใน Excel ฉันได้พยายามพูดคุยเกี่ยวกับวิธีที่เป็นไปได้ทั้งหมดในการใช้ ตรึงบานหน้าต่าง บนเวิร์กชีตใน Excel คุณมีคำถามใดๆ? อย่าลังเลที่จะถามเรา และอย่าลืมเยี่ยมชมเว็บไซต์ของเรา ExcelWIKI เพื่อดูโพสต์และอัปเดตเพิ่มเติม