วิธีซ่อนคอลัมน์ตามเวลาจริงตามการป้อนข้อมูลของผู้ใช้ใน Excel?
อาจเป็นงานทั่วไปสำหรับพวกเราส่วนใหญ่ในการซ่อนคอลัมน์ใน Excel แต่คุณเคยพยายามซ่อนคอลัมน์โดยอัตโนมัติตามค่าอินพุตบางค่าหรือไม่? ตัวอย่างเช่น เมื่อฉันป้อนข้อความ "AA" ในเซลล์ คอลัมน์ A จะถูกซ่อน เมื่อฉันป้อน "BB" คอลัมน์ B และ C จะถูกซ่อน เมื่อเข้าสู่ "CC" คอลัมน์ D และ E จะถูกซ่อน เมื่อเข้าสู่ "DD" คอลัมน์ F จะถูกซ่อนตามที่แสดงด้านล่าง บทความนี้จะสร้างโค้ด VBA เพื่อแก้ปัญหาใน Excel
ซ่อนหรือเลิกซ่อนคอลัมน์ตามเวลาจริงตามการป้อนข้อมูลของผู้ใช้ด้วยรหัส VBA
ซ่อนหรือเลิกซ่อนคอลัมน์เพื่อกรองข้อมูลตามข้อมูลที่ผู้ใช้ป้อนด้วยโค้ด VBA
ซ่อนหรือเลิกซ่อนคอลัมน์ตามเวลาจริงตามการป้อนข้อมูลของผู้ใช้ด้วยรหัส VBA
หากต้องการซ่อนคอลัมน์เฉพาะตามเวลาจริงตามค่าอินพุต โปรดใช้โค้ด VBA ด้านล่าง:
1. ในเวิร์กชีตที่คุณต้องการซ่อนคอลัมน์ ให้คลิกขวาที่แท็บแผ่นงาน แล้วคลิก ดูรหัส จากเมนูบริบท ดูภาพหน้าจอ
2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง คัดลอกและวางรหัส VBA ต่อไปนี้ใน แผ่น (รหัส) หน้าต่าง
รหัส VBA: ซ่อนคอลัมน์ตามเวลาจริงตามการป้อนข้อมูลของผู้ใช้
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
- กรณี "AA": คอลัมน์ ("A")).EntireColumn.Hidden = False
- คอลัมน์("A")).EntireColumn.Hidden = True
3. จากนั้นปิดหน้าต่างรหัส ตอนนี้เมื่อป้อน “AA” ในเซลล์ K1 แล้วกด เข้าสู่ คีย์ คอลัมน์ A ถูกซ่อนไว้ เมื่อเข้าสู่ “BB” แล้วกด เข้าสู่ คีย์ คอลัมน์ B และ C ถูกซ่อน และอื่นๆ หากคุณป้อนค่าอื่นหรือลบเนื้อหา คอลัมน์ที่ซ่อนอยู่จะแสดงพร้อมกัน ดูการสาธิตด้านล่าง:
ซ่อนหรือเลิกซ่อนคอลัมน์เพื่อกรองข้อมูลตามข้อมูลที่ผู้ใช้ป้อนด้วยโค้ด VBA
ในตัวอย่างนี้ ฉันจะกรองช่วงข้อมูลตามชื่อผลิตภัณฑ์ที่ป้อน เมื่อฉันป้อน "Hoodie" เฉพาะข้อมูล Hoodie เท่านั้นที่จะแสดงและคอลัมน์อื่น ๆ จะถูกซ่อนในครั้งเดียว และเมื่อฉันป้อน "ทั้งหมด" คอลัมน์ทั้งหมดจะแสดงดังที่แสดงด้านล่าง:
1. ในเวิร์กชีตที่คุณต้องการซ่อนคอลัมน์ ให้คลิกขวาที่แท็บแผ่นงาน แล้วคลิก ดูรหัส จากเมนูบริบทดูภาพหน้าจอ:
2. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง คัดลอกและวางรหัส VBA ต่อไปนี้ใน แผ่น (รหัส) หน้าต่าง
รหัส VBA: ซ่อนหรือเลิกซ่อนคอลัมน์เพื่อกรองข้อมูลตามอินพุตของผู้ใช้
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
Dim x As Variant, y As String
If Target.Address = "$K$1" Then
y = Target.Value
With Range("B1:H1")
Application.ScreenUpdating = False
.EntireColumn.Hidden = (y <> "All")
If y <> "All" Then
For Each x In .Cells
If x = y Then x.EntireColumn.Hidden = False
Next
End If
Application.ScreenUpdating = True
End With
End If
End Sub
3. จากนั้นปิดหน้าต่างรหัส ตอนนี้ หากคุณป้อนชื่อผลิตภัณฑ์ลงในเซลล์ K1 ระบบจะแสดงเฉพาะคอลัมน์ที่เกี่ยวข้อง คอลัมน์อื่นๆ จะถูกซ่อน และหากคุณป้อนข้อความ "ทั้งหมด" คอลัมน์ทั้งหมดจะปรากฏตามตัวอย่างที่แสดงด้านล่าง:
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!