วิธีลบแถวตามสีพื้นหลังใน Excel
คุณจะลบแถวทั้งหมดตามสีพื้นหลังได้อย่างไร ในตัวอย่างนี้ฉันต้องลบแถวทั้งหมดที่เซลล์เต็มไปด้วยสีพื้นหลังสีน้ำเงินดังภาพต่อไปนี้ ด้วยบทความนี้คุณจะได้รับรหัสบางอย่างเพื่อให้บรรลุภารกิจนี้ใน Excel
ลบแถวที่มีสีพื้นหลังเฉพาะตามแต่ละเซลล์
ลบแถวที่มีสีพื้นหลังเฉพาะตามคอลัมน์เดียว
ลบแถวที่มีสีพื้นหลังเฉพาะตามแต่ละเซลล์
หากคุณมีช่วงของข้อมูลที่เต็มไปด้วยสีของเซลล์บางส่วนแบบสุ่มและคุณจำเป็นต้องลบแถวที่สีของเซลล์เป็นสีน้ำเงินดังภาพต่อไปนี้:
หากต้องการลบแถวประเภทนี้คุณสามารถใช้รหัส VBA ต่อไปนี้ได้โปรดดำเนินการดังนี้:
1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.
รหัส VBA: ลบแถวที่เซลล์มีสีเติมเฉพาะ:
Sub DeleteRows()
'Updateby Extendoffice
Dim rngCl As Range
Dim xRows As Long
Dim xCol As Long
Dim colorLg As Long
On Error Resume Next
Set rngCl = Application.InputBox _
(Prompt:="Select a cell with the background color to be deleted", _
Title:="Kutools for Excel", Type:=8)
On Error GoTo 0
If rngCl Is Nothing Then
MsgBox "User cancelled operation." & vbCrLf & _
"Processing terminated", vbInformation, "Kutools for Excel"
Exit Sub
End If
colorLg = rngCl.Interior.Color
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
For xRows = .Rows.Count To 1 Step -1
For xCol = 1 To .Columns.Count
If .Cells(xRows, xCol).Interior.Color = colorLg Then
.Rows(xRows).Delete
Exit For
End If
Next xCol
Next xRows
End With
Application.ScreenUpdating = True
End Sub
3. จากนั้นกด F5 เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกเซลล์ที่มีสีเติมที่คุณต้องการลบดูภาพหน้าจอ:
4. จากนั้นคลิก OKและแถวทั้งหมดจะถูกลบออกหากเซลล์ที่มีสีเติมเฉพาะ
ลบแถวที่มีสีพื้นหลังเฉพาะตามคอลัมน์เดียว
หากคุณต้องการลบแถวที่มีสีเฉพาะตามคอลัมน์เดียวเช่นลบแถวที่มีสีฟ้าในคอลัมน์ A และรับภาพหน้าจอด้านล่างนี่คือรหัส VBA ที่สามารถช่วยคุณได้
1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.
รหัส VBA: ลบแถวตามคอลัมน์ที่เซลล์มีสีเติมเฉพาะ:
Sub deleterow()
'UpdateBY Extendoffice
Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
If xRg.Interior.ColorIndex = 20 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub
หมายเหตุ: ในโค้ดด้านบน A2: A21 คือคอลัมน์ที่มีสีเติมเฉพาะที่คุณต้องการลบแถวตามจำนวน 20 in ดัชนีสี = 20 สคริปต์คือดัชนีสีที่คุณต้องการลบแถวตาม คุณสามารถเปลี่ยนได้ตามความต้องการของคุณ
3. จากนั้นกด F5 เพื่อเรียกใช้รหัสนี้และแถวทั้งหมดที่เซลล์มีสีฟ้าในคอลัมน์ A จะถูกลบออกพร้อมกัน
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!