วิธีตรึงบานหน้าต่างด้วย VBA ใน Excel (5 วิธีที่เหมาะสม)

  • แบ่งปันสิ่งนี้
Hugh West

ในบทความนี้ ฉันจะแสดงวิธีตรึงบานหน้าต่างของแผ่นงาน 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 เพื่อดูโพสต์และอัปเดตเพิ่มเติม

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง