Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

การใช้ มาโคร VBA เป็นวิธีที่มีประสิทธิภาพ รวดเร็วที่สุด และปลอดภัยที่สุดในการรันการทำงานใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีการลบคอลัมน์ตามเกณฑ์ใน Excel ด้วย มาโคร VBA .

ดาวน์โหลดสมุดงาน

คุณสามารถดาวน์โหลดเวิร์กบุ๊ก Excel แบบฝึกหัดฟรีได้จากที่นี่

ไวยากรณ์ทั่วไป

ไวยากรณ์ทั่วไปในการลบคอลัมน์ใน Excel โดยใช้ VBA คือ

คอลัมน์ (หมายเลขคอลัมน์/ ที่อยู่คอลัมน์) ลบ

8 ตัวอย่างที่มีมาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel

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

เราจะใช้ชุดข้อมูลต่อไปนี้เป็นตัวอย่าง

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

เกณฑ์ที่ 1:VBA Macro เพื่อลบคอลัมน์ตามค่าของเซลล์ใน Excel

ขั้นตอนในการลบ คอลัมน์ตามค่าของเซลล์ ใน Excel ด้วย VBA ด้านล่างนี้

ขั้นตอน:

  • กด Alt + F11 บนแป้นพิมพ์ของคุณหรือไปที่แท็บ นักพัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู ให้คลิก แทรก -> โมดูล .

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • คัดลอกโค้ดต่อไปนี้แล้ววางลงในหน้าต่างโค้ด
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

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

รหัสนี้จะลบคอลัมน์ที่ขึ้นต้นด้วย ค่าเซลล์ 2 .

  • กด F5 บนแป้นพิมพ์หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

ผลลัพธ์แสดงอยู่ด้านล่าง

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์เริ่มต้นด้วย ค่าเซลล์ 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

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์ทั้งหมดที่มีเซลล์ว่าง ถูกลบไปแล้ว

เกณฑ์ 3:VBA Macro เพื่อลบคอลัมน์ที่ว่างเปล่าใน Excel

ดูชุดข้อมูลต่อไปนี้ที่ประกอบด้วยคอลัมน์ว่าง เราจะดูวิธีการลบคอลัมน์ว่าง .เหล่านี้ ใน Excel ด้วย VBA มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

ขั้นตอน:

  • เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
  • ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteBlankCol()
Dim i As Integer
For i = 1 To 4
Columns(i + 1).Delete
Next i
End Sub

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์ว่าง .ทั้งหมด จะถูกลบ

อ่านเพิ่มเติม: ลบคอลัมน์ว่างใน Excel

เกณฑ์ที่ 4:VBA Macro เพื่อลบคอลัมน์ที่ไม่อยู่ติดกันใน Excel

ขั้นตอนในการลบ หลายคอลัมน์ที่ไม่อยู่ติดกัน ใน Excel ด้วย VBA ด้านล่างนี้

ขั้นตอน:

  • เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
  • ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub DeleteNAdjCol()
Range("C:E, G:I").Delete
End Sub

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์ก่อนหน้าทั้งหมดตั้งแต่ 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

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์ก่อนหน้าทั้งหมดตั้งแต่ 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

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์ 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

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

คอลัมน์ที่ 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

ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

  • วิ่ง มาโคร

มาโคร VBA เพื่อลบคอลัมน์ตามเกณฑ์ใน Excel (8 ตัวอย่าง)

ส่วนหัวของคอลัมน์ ชื่อเมษา ถูกลบออกจากตาราง

บทสรุป

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

คุณอาจต้องการสำรวจด้วย

  • วิธีการล้างเนื้อหาใน Excel โดยไม่ต้องลบสูตร (3 วิธี)
  • ลบคอลัมน์พิเศษใน Excel (7 วิธี)