วิธีตรึงบานหน้าต่างโดยใช้ vba (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อตรึงบานหน้าต่างเฉพาะในแผ่นงาน Excel:
Sub FreezeCertainPanes()
With ActiveWindow
If .FreezePanes Then .FreezePanes = False
.SplitColumn = 0
.SplitRow = 1
.FreezePanes = True
End With
End Sub
อาร์กิวเมนต์ .SplitColumn ระบุจำนวนคอลัมน์ (เริ่มจากด้านซ้าย) ที่จะตรึง
อาร์กิวเมนต์ .SplitRow ระบุจำนวนแถว (เริ่มจากด้านบน) ที่จะตรึง
มาโครเฉพาะนี้จะค้างเฉพาะแถวแรกของแผ่นงาน Excel
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติกับแผ่นงาน Excel ต่อไปนี้:
ตัวอย่างที่ 1: ตรึงแถวแรกโดยใช้ VBA
เราสามารถสร้างแมโครต่อไปนี้เพื่อตรึงแถวแรกของแผ่นงาน Excel:
Sub FreezeCertainPanes()
With ActiveWindow
If .FreezePanes Then .FreezePanes = False
.SplitColumn = 0
.SplitRow = 1
.FreezePanes = True
End With
End Sub
เมื่อดำเนินการแมโครนี้ บรรทัดแรกของชีตจะหยุดนิ่ง:
ไม่ว่าเราจะเลื่อนไปไกลแค่ไหน แถวแรกก็ยังมองเห็นได้
ตัวอย่างที่ 2: ตรึงคอลัมน์แรกโดยใช้ VBA
เราสามารถสร้างแมโครต่อไปนี้เพื่อตรึงแถวแรกของแผ่นงาน Excel:
Sub FreezeCertainPanes()
With ActiveWindow
If .FreezePanes Then .FreezePanes = False
.SplitColumn = 1
.SplitRow = 0
.FreezePanes = True
End With
End Sub
เมื่อดำเนินการแมโครนี้แล้ว คอลัมน์แรกของชีตจะค้าง:
ไม่ว่าระยะทางจะเดินทางแค่ไหน คอลัมน์แรกจะยังคงมองเห็นได้
ตัวอย่างที่ 3: ตรึงแถวและคอลัมน์ที่ต้องการโดยใช้ VBA
เราสามารถสร้างแมโครต่อไปนี้เพื่อตรึง 3 แถวแรก และ 2 คอลัมน์แรก ของแผ่นงาน Excel:
Sub FreezeCertainPanes()
With ActiveWindow
If .FreezePanes Then .FreezePanes = False
.SplitColumn = 2
.SplitRow = 3
.FreezePanes = True
End With
End Sub
เมื่อดำเนินการแมโครนี้ 3 แถวแรกและ 2 คอลัมน์แรกของแผ่นงานจะถูกตรึง:
ไม่ว่าระยะทางที่เดินทางจะเป็นเท่าใด 3 แถวแรกและ 2 คอลัมน์แรกจะยังคงมองเห็นได้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีค้นหาบรรทัดที่ใช้ล่าสุด
VBA: วิธีค้นหาคอลัมน์ที่ใช้ล่าสุด
VBA: วิธีแทรกหลายบรรทัด