การใช้ มาโคร VBA เป็นวิธีที่มีประสิทธิภาพ รวดเร็วที่สุด และปลอดภัยที่สุดในการรันการทำงานใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีการลบคอลัมน์ตามเกณฑ์ใน Excel ด้วย มาโคร VBA .
ดาวน์โหลดสมุดงาน
คุณสามารถดาวน์โหลดเวิร์กบุ๊ก Excel แบบฝึกหัดฟรีได้จากที่นี่
ไวยากรณ์ทั่วไป
ไวยากรณ์ทั่วไปในการลบคอลัมน์ใน Excel โดยใช้ VBA คือ
คอลัมน์ (หมายเลขคอลัมน์/ ที่อยู่คอลัมน์) ลบ
8 ตัวอย่างที่มีมาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel
ในส่วนนี้ คุณจะได้เรียนรู้วิธีลบคอลัมน์ตามค่าของเซลล์ ตามเวิร์กชีตอื่น และตามตารางที่มี VBA มาโคร ใน Excel
เราจะใช้ชุดข้อมูลต่อไปนี้เป็นตัวอย่าง
เกณฑ์ที่ 1:VBA Macro เพื่อลบคอลัมน์ตามค่าของเซลล์ใน Excel
ขั้นตอนในการลบ คอลัมน์ตามค่าของเซลล์ ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- กด Alt + F11 บนแป้นพิมพ์ของคุณหรือไปที่แท็บ นักพัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู ให้คลิก แทรก -> โมดูล .
- คัดลอกโค้ดต่อไปนี้แล้ววางลงในหน้าต่างโค้ด
Sub DeleteColumnsBasedOnCellValue()
Dim iCol As Long
Dim iWrk As Long
iCol = 10
For iWrk = iCol To 1 Step -1
If Cells(1, iWrk) = 2 Then
Columns(iWrk).Delete
End If
Next
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
รหัสนี้จะลบคอลัมน์ที่ขึ้นต้นด้วย ค่าเซลล์ 2 .
- กด F5 บนแป้นพิมพ์หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
ผลลัพธ์แสดงอยู่ด้านล่าง
คอลัมน์เริ่มต้นด้วย ค่าเซลล์ 2 จะถูกลบ
อ่านเพิ่มเติม: VBA เพื่อลบคอลัมน์ใน Excel
เกณฑ์ที่ 2:มาโคร VBA เพื่อลบคอลัมน์ตามเซลล์ว่างใน Excel
ขั้นตอนในการลบ คอลัมน์ที่มีเซลล์ว่าง ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteBlankCells()
Range("A1:J10").Select '//range of the dataset
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireColumn.Delete
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
คอลัมน์ทั้งหมดที่มีเซลล์ว่าง ถูกลบไปแล้ว
เกณฑ์ 3:VBA Macro เพื่อลบคอลัมน์ที่ว่างเปล่าใน Excel
ดูชุดข้อมูลต่อไปนี้ที่ประกอบด้วยคอลัมน์ว่าง เราจะดูวิธีการลบคอลัมน์ว่าง .เหล่านี้ ใน Excel ด้วย VBA มาโคร
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteBlankCol()
Dim i As Integer
For i = 1 To 4
Columns(i + 1).Delete
Next i
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
คอลัมน์ว่าง .ทั้งหมด จะถูกลบ
อ่านเพิ่มเติม: ลบคอลัมน์ว่างใน Excel
เกณฑ์ที่ 4:VBA Macro เพื่อลบคอลัมน์ที่ไม่อยู่ติดกันใน Excel
ขั้นตอนในการลบ หลายคอลัมน์ที่ไม่อยู่ติดกัน ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteNAdjCol()
Range("C:E, G:I").Delete
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
คอลัมน์ก่อนหน้าทั้งหมดตั้งแต่ C ถึง E (ก.พ. ถึง เม.ย.) และ G to I (มิ.ย. ถึง ส.ค.) ถูกลบไปแล้ว
การอ่านที่คล้ายกัน:
- วิธีการลบคอลัมน์ที่ไม่ได้ใช้ใน Excel (วิธี 5 วิธีที่ง่ายที่สุด)
- ลบคอลัมน์ใน Excel โดยไม่กระทบต่อสูตร (สองวิธี)
- วิธีการลบคอลัมน์ที่ซ้ำกันใน Excel (6 วิธี)
เกณฑ์ที่ 5:แมโคร VBA เพื่อลบคอลัมน์ตามแผ่นงานเฉพาะใน Excel
ขั้นตอนในการลบ คอลัมน์จากแผ่นงานเฉพาะ ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteColFromSheet()
Worksheets("New Column").Select '// set the sheet name
Columns("D:F").Delete
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
คอลัมน์ก่อนหน้าทั้งหมดตั้งแต่ D ถึง F (มี.ค. ถึง พฤษภาคม) จาก “คอลัมน์ใหม่ ” แผ่นงานถูกลบแล้ว
เกณฑ์ที่ 6:VBA Macro เพื่อลบคอลัมน์ตามตารางใน Excel
ขั้นตอนในการลบ คอลัมน์ออกจากตาราง ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteColTable()
Dim srcTable As ListObject
Dim srcSheet As Worksheet
'Set the table from which column is to be deleted
Set srcTable = ActiveSheet.ListObjects("ExTable")
'Set the sheet that contains the table
Set srcSheet = Sheet8
With srcSheet
srcTable.ListColumns(5).Delete
End With
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
คอลัมน์ 5 (เม.ย.) ถูกลบออกจากตาราง
เกณฑ์ที่ 7:VBA Macro เพื่อลบหลายคอลัมน์โดยยึดตามตารางใน Excel
ขั้นตอนในการลบ หลายรายการ คอลัมน์จากตารางใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteMColTable()
Dim srcTable As ListObject
Dim srcSheet As Worksheet
Dim i As Integer
'Set the table from which column is to be deleted
Set srcTable = ActiveSheet.ListObjects("ExTable2")
'Set the sheet that contains the table
Set srcSheet = Sheet9
'Run the loop twice as we need to delete 2 columns
For i = 1 To 2
With Source
srcTable.ListColumns(5).Delete
End With
Next i
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
คอลัมน์ที่ 5 และ 6 (เมษายนและพฤษภาคม) ถูกลบออกจากตารางแล้ว
อ่านเพิ่มเติม: วิธีการลบหลายคอลัมน์ใน Excel
เกณฑ์ที่ 8:VBA Macro เพื่อลบคอลัมน์จากตารางตามส่วนหัวของคอลัมน์ใน Excel
ขั้นตอนในการลบ คอลัมน์จากตารางตามส่วนหัวของคอลัมน์ ใน Excel ด้วย VBA ด้านล่างนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteColHeaderTable()
Dim srcTable As ListObject
Dim srcSheet As Worksheet
Dim i As Integer
Dim colName As String
'Set the table from which column is to be deleted
Set srcTable = ActiveSheet.ListObjects("ExTable3")
'Set the sheet that contains the table
Set srcSheet = Sheet10
'Case sensitive
colName = "Apr"
'Loop through all the columns in the table
For i = 1 To srcTable.ListColumns.Count
With srcSheet
'Check the column header
If srcTable.ListColumns(i).Name = colName Then
srcTable.ListColumns(i).Delete
Exit For
End If
End With
Next i
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโคร
ส่วนหัวของคอลัมน์ ชื่อเมษา ถูกลบออกจากตาราง
บทสรุป
บทความนี้แสดงวิธีการลบคอลัมน์ตามเกณฑ์ที่แตกต่างกัน 8 ข้อใน Excel ด้วยมาโคร VBA ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับคุณมาก อย่าลังเลที่จะถามคำถามใด ๆ เกี่ยวกับหัวข้อนี้
คุณอาจต้องการสำรวจด้วย
- วิธีการล้างเนื้อหาใน Excel โดยไม่ต้องลบสูตร (3 วิธี)
- ลบคอลัมน์พิเศษใน Excel (7 วิธี)