วิธีเน้นแถวและคอลัมน์ที่ใช้งานอยู่ใน Excel

  • แบ่งปันสิ่งนี้
Michael Brown

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้ 3 วิธีที่แตกต่างกันในการเน้นแถวและคอลัมน์ของเซลล์ที่เลือกใน Excel แบบไดนามิก

เมื่อดูเวิร์กชีตขนาดใหญ่เป็นเวลานาน คุณจะ ในที่สุดอาจหลงทางว่าเคอร์เซอร์ของคุณอยู่ที่ใดและข้อมูลใดที่คุณกำลังดูอยู่ หากต้องการทราบตำแหน่งที่คุณอยู่อย่างแน่ชัด ให้ Excel ไฮไลต์แถวและคอลัมน์ที่ใช้งานอยู่โดยอัตโนมัติ! โดยปกติแล้ว การไฮไลต์ควรเป็นแบบไดนามิกและเปลี่ยนทุกครั้งที่คุณเลือกเซลล์อื่น โดยพื้นฐานแล้ว นี่คือเป้าหมายของเราที่จะบรรลุ:

    เน้นแถวและคอลัมน์ของเซลล์ที่เลือกโดยอัตโนมัติด้วย VBA

    สิ่งนี้ ตัวอย่างแสดงวิธีเน้นคอลัมน์และแถวที่ใช้งานอยู่โดยทางโปรแกรมด้วย VBA สำหรับสิ่งนี้ เราจะใช้เหตุการณ์ SelectionChange ของวัตถุ แผ่นงาน

    ก่อนอื่น ให้คุณล้างสีพื้นหลังของเซลล์ทั้งหมดบนแผ่นงานโดยการตั้งค่า ColorIndex คุณสมบัติเป็น 0 จากนั้น คุณเน้นทั้งแถวและคอลัมน์ของเซลล์ที่ใช้งานอยู่โดยตั้งค่าคุณสมบัติ ColorIndex เป็นหมายเลขดัชนีสำหรับสีที่ต้องการ

    Private Sub Worksheet_SelectionChange ( ByVal Target As Range) ถ้า Target.Cells.Count > 1 จากนั้นออกจาก Sub Application.ScreenUpdating = False ' ล้างสีของเซลล์ทั้งหมด Cells.Interior.ColorIndex = 0 ด้วย Target ' เน้นแถวและคอลัมน์ของเซลล์ที่เลือก .EntireRow.Interior.ColorIndex = 38.EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    การปรับแต่งโค้ด

    หากคุณต้องการปรับแต่งโค้ดตามความต้องการ เคล็ดลับเล็กๆ น้อยๆ เหล่านี้อาจมีประโยชน์:

    • โค้ดตัวอย่างของเราใช้สองสีที่แตกต่างกันซึ่งแสดงใน gif ด้านบน - ดัชนีสี 38 สำหรับแถวและ 24 สำหรับคอลัมน์ หากต้องการ เปลี่ยนสีไฮไลท์ ให้แทนที่ด้วยโค้ด ColorIndex ที่คุณเลือก
    • หากต้องการให้แถวและคอลัมน์มีสี แบบเดียวกัน ให้ใช้แบบเดียวกัน หมายเลขดัชนีสีสำหรับทั้งคู่
    • หากต้องการเน้นเฉพาะ แถวที่ใช้งานอยู่ ให้ลบหรือแสดงความคิดเห็นในบรรทัดนี้: .EntireColumn.Interior.ColorIndex = 24
    • หากต้องการเน้นเฉพาะ คอลัมน์ที่ใช้งานอยู่ ให้ลบหรือแสดงความคิดเห็นในบรรทัดนี้: .EntireRow.Interior.ColorIndex = 38

    วิธีเพิ่มโค้ด ในเวิร์กชีตของคุณ

    หากต้องการให้โค้ดดำเนินการโดยไม่โต้ตอบในพื้นหลังของเวิร์กชีตเฉพาะ คุณจะต้องแทรกโค้ดนั้นในหน้าต่างโค้ดที่เป็นของเวิร์กชีตนั้น ไม่ใช่ในโมดูลปกติ หากต้องการดำเนินการ ให้ทำตามขั้นตอนเหล่านี้:

    1. ในสมุดงานของคุณ ให้กด Alt + F11 เพื่อไปที่ตัวแก้ไข VBA
    2. ใน Project Explorer ทางด้านซ้าย คุณจะ จะเห็นรายการสมุดงานและแผ่นงานที่เปิดอยู่ทั้งหมด หากคุณไม่เห็น ให้ใช้ทางลัด Ctrl + R เพื่อนำหน้าต่าง Project Explorer มาดู
    3. ค้นหาสมุดงานเป้าหมาย ใน Microsoft Excelโฟลเดอร์ Objects ดับเบิลคลิกที่แผ่นงานที่คุณต้องการใช้การเน้น ในตัวอย่างนี้ ชีต 1 .
    4. ในหน้าต่างโค้ดทางด้านขวา ให้วางโค้ดด้านบน
    5. บันทึกไฟล์ของคุณเป็น สมุดงานที่เปิดใช้งานมาโคร (.xlsm).

    ข้อดี : ทุกอย่างเสร็จสิ้นในแบ็กเอนด์; ไม่จำเป็นต้องมีการปรับเปลี่ยน/ปรับแต่งในด้านของผู้ใช้ ใช้ได้กับ Excel ทุกรุ่น

    ข้อเสีย : มีข้อเสียสำคัญสองประการที่ทำให้เทคนิคนี้ใช้ไม่ได้ในบางสถานการณ์:

    • โค้ด ล้างพื้นหลัง สี ของเซลล์ทั้งหมดในแผ่นงาน หากคุณมีเซลล์ที่มีสี อย่าใช้วิธีนี้เนื่องจากการจัดรูปแบบที่กำหนดเองของคุณจะสูญหาย
    • การดำเนินการโค้ดนี้ บล็อก ฟังก์ชันการเลิกทำ บนแผ่นงาน และ คุณจะไม่สามารถเลิกทำการกระทำที่ผิดพลาดโดยการกด Ctrl + Z ได้

    เน้นแถวและคอลัมน์ที่ใช้งานอยู่โดยไม่มี VBA

    วิธีที่ดีที่สุดคือการเน้นแถวที่เลือกและ /หรือคอลัมน์ที่ไม่มี VBA คือการจัดรูปแบบตามเงื่อนไขของ Excel ในการตั้งค่า ให้ดำเนินการตามขั้นตอนเหล่านี้:

    1. เลือกชุดข้อมูลของคุณที่ควรทำการไฮไลท์
    2. ในแท็บ หน้าแรก ในแท็บ สไตล์ กลุ่ม คลิก กฎใหม่ .
    3. ในกล่องโต้ตอบ กฎการจัดรูปแบบใหม่ เลือก ใช้สูตรเพื่อกำหนดเซลล์ที่จะ รูปแบบ .
    4. ใน จัดรูปแบบค่าโดยที่สูตรนี้เป็นจริง ป้อนหนึ่งในสูตรเหล่านี้:

      เพื่อเน้น แถวที่ใช้งานอยู่ :

      =CELL("row")=ROW()

      เพื่อเน้น คอลัมน์ที่ใช้งานอยู่ :

      =CELL("col")=COLUMN()

      เพื่อเน้น แถวและคอลัมน์ที่ใช้งานอยู่ :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN())

      สูตรทั้งหมดใช้ประโยชน์จากฟังก์ชัน CELL เพื่อ ส่งกลับหมายเลขแถว/คอลัมน์ของเซลล์ที่เลือก

    5. คลิกปุ่ม รูปแบบ สลับไปที่แท็บ เติม และเลือกสีที่คุณต้องการ
    6. คลิก ตกลง สองครั้งเพื่อปิด ทั้งสองหน้าต่างโต้ตอบ

    หากคุณต้องการคำแนะนำโดยละเอียดเพิ่มเติม โปรดดูวิธีสร้างกฎการจัดรูปแบบตามเงื่อนไขตามสูตร

    สำหรับตัวอย่างนี้ เราเลือกใช้คำสั่ง OR สูตรการแรเงาทั้งคอลัมน์และแถวด้วยสีเดียวกัน ซึ่งใช้เวลาทำงานน้อยกว่าและเหมาะสำหรับกรณีส่วนใหญ่

    น่าเสียดายที่โซลูชันนี้ไม่ดีเท่า VBA เนื่องจากต้อง คำนวณชีตใหม่ด้วยตนเอง (โดยกดปุ่ม F9) ตามค่าเริ่มต้น Excel จะคำนวณเวิร์กชีตใหม่หลังจากป้อนข้อมูลใหม่หรือแก้ไขเวิร์กชีตที่มีอยู่แล้วเท่านั้น แต่จะไม่ทำเมื่อการเลือกเปลี่ยนแปลง ดังนั้น คุณเลือกเซลล์อื่น - ไม่มีอะไรเกิดขึ้น กด F9 - แผ่นงานจะถูกรีเฟรช สูตรจะถูกคำนวณใหม่ และการเน้นสีจะได้รับการอัปเดต

    หากต้องการให้แผ่นงานคำนวณใหม่โดยอัตโนมัติเมื่อใดก็ตามที่เหตุการณ์ SelectionChange เกิดขึ้น คุณสามารถวางโค้ด VBA อย่างง่ายนี้ในโมดูลโค้ดของชีตเป้าหมายของคุณตามที่อธิบายไว้ตัวอย่างก่อนหน้านี้:

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End Sub

    รหัสบังคับให้ช่วง/เซลล์ที่เลือกคำนวณใหม่ ซึ่งจะบังคับให้ฟังก์ชัน CELL อัปเดตและการจัดรูปแบบตามเงื่อนไขเพื่อให้สะท้อน การเปลี่ยนแปลงนี้

    ข้อดี : ไม่เหมือนกับวิธีการก่อนหน้านี้ วิธีการนี้ไม่ส่งผลกระทบต่อการจัดรูปแบบที่มีอยู่ที่คุณนำไปใช้ด้วยตนเอง

    ข้อเสีย : อาจ ทำให้ประสิทธิภาพของ Excel แย่ลง

    • เพื่อให้การจัดรูปแบบตามเงื่อนไขทำงานได้ คุณต้องบังคับให้ Excel คำนวณสูตรใหม่ในทุกๆ การเปลี่ยนแปลงการเลือก (ด้วยตนเองโดยใช้ปุ่ม F9 หรือโดยอัตโนมัติด้วย VBA) การบังคับคำนวณใหม่อาจทำให้ Excel ของคุณช้าลง เนื่องจากรหัสของเราจะคำนวณการเลือกใหม่แทนที่จะเป็นทั้งแผ่นงาน ผลกระทบด้านลบมักจะสังเกตได้เฉพาะในสมุดงานที่มีขนาดใหญ่และซับซ้อนมากเท่านั้น
    • เนื่องจากฟังก์ชัน CELL มีให้ใช้งานใน Excel 2007 และสูงกว่า วิธีการนี้จะไม่ ไม่สามารถทำงานในเวอร์ชันก่อนหน้าได้

    เน้นแถวและคอลัมน์ที่เลือกโดยใช้การจัดรูปแบบตามเงื่อนไขและ VBA

    ในกรณีที่วิธีการก่อนหน้านี้ทำให้สมุดงานของคุณทำงานช้าลงอย่างมาก คุณสามารถเข้าใกล้งานด้วยวิธีอื่น - แทน ในการคำนวณเวิร์กชีตใหม่ในทุกๆ การย้ายของผู้ใช้ รับหมายเลขแถว/คอลัมน์ที่ใช้งานอยู่โดยใช้ VBA จากนั้นจึงให้บริการตัวเลขนั้นกับฟังก์ชัน ROW() หรือ COLUMN() โดยใช้สูตรการจัดรูปแบบตามเงื่อนไข

    ถึง ทำสิ่งนี้ให้สำเร็จนี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

    1. เพิ่มแผ่นงานเปล่าใหม่ในสมุดงานของคุณและตั้งชื่อว่า แผ่นงานตัวช่วย จุดประสงค์เดียวของแผ่นงานนี้คือเพื่อจัดเก็บตัวเลขสองตัวที่แสดงถึงแถวและคอลัมน์ที่มีเซลล์ที่เลือก ดังนั้นคุณจึงสามารถซ่อนแผ่นงานได้อย่างปลอดภัยในภายหลัง
    2. แทรก VBA ด้านล่างในหน้าต่างรหัสของแผ่นงาน ที่คุณต้องการใช้การเน้น สำหรับคำแนะนำโดยละเอียด โปรดดูตัวอย่างแรกของเรา Worksheet_SelectionChange ย่อยส่วนตัว ( ByVal Target As Range) Application.ScreenUpdating = False Worksheets ( "Helper Sheet" ) Cells (2, 1) = Target.Row Worksheets ( "Helper Sheet" ) Cells (2, 2) = Target.Column Application.ScreenUpdating = True End Sub

      โค้ดด้านบนวางพิกัดของแถวและคอลัมน์ที่ใช้งานไปยังชีตชื่อ "Helper Sheet" หากคุณตั้งชื่อแผ่นงานของคุณแตกต่างออกไปในขั้นตอนที่ 1 ให้เปลี่ยนชื่อแผ่นงานในโค้ดตามนั้น หมายเลขแถวเขียนถึง A2 และหมายเลขคอลัมน์เขียนถึง B2

    3. ในเวิร์กชีตเป้าหมายของคุณ เลือกชุดข้อมูลทั้งหมด และสร้างกฎการจัดรูปแบบตามเงื่อนไขด้วยสูตรด้านล่าง ตัวอย่างข้างต้นมีคำแนะนำทีละขั้นตอน

    และตอนนี้ เราจะกล่าวถึงกรณีการใช้งานหลักสามกรณีโดยละเอียด

    วิธีเน้นแถวที่ใช้งานอยู่

    หากต้องการเน้นแถวที่คุณวางเคอร์เซอร์อยู่ ให้ตั้งค่ากฎการจัดรูปแบบตามเงื่อนไขด้วยสูตร:

    =ROW()='Helper Sheet'!$A$2

    ด้วยเหตุนี้ ผู้ใช้สามารถเห็นได้อย่างชัดเจนว่าแถวใดที่เลือกอยู่ในปัจจุบัน:

    วิธีเน้นคอลัมน์ที่ใช้งานอยู่

    หากต้องการเน้นคอลัมน์ที่เลือก ให้ป้อนหมายเลขคอลัมน์ไปยังฟังก์ชัน COLUMN โดยใช้สูตรนี้:

    =COLUMN()='Helper Sheet'!$B$2

    ตอนนี้ คอลัมน์ที่ไฮไลต์ช่วยให้คุณอ่านข้อมูลแนวตั้งโดยเน้นที่คอลัมน์ทั้งหมดได้อย่างสะดวกสบายและง่ายดาย

    วิธีเน้นแถวและคอลัมน์ที่ใช้งานอยู่

    หากต้องการให้ทั้งแถวและคอลัมน์ที่เลือกแรเงาเป็นสีเดียวกันโดยอัตโนมัติ ให้รวมฟังก์ชัน ROW() และ COLUMN() เป็นสูตรเดียว:

    =OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)

    ข้อมูลที่เกี่ยวข้องจะถูกนำมาพิจารณาทันที คุณจึงหลีกเลี่ยงการอ่านข้อมูลผิด

    ข้อดี : เพิ่มประสิทธิภาพ; ใช้งานได้กับ Excel ทุกรุ่น

    ข้อเสีย : การตั้งค่าที่ยาวที่สุด

    นั่นคือวิธีเน้นคอลัมน์และแถวของเซลล์ที่เลือกใน Excel ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!

    สมุดงานแบบฝึกหัดสำหรับการดาวน์โหลด

    การเน้นแถวและคอลัมน์ที่ใช้งานอยู่ (ไฟล์ .xlsm)

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