Excel ไม่มีเหตุการณ์ VBA สำหรับการลบเซลล์
คุณสามารถใช้เหตุการณ์ Worksheet_Change เหตุการณ์นี้จะถูกเรียกเมื่อมีการเปลี่ยนแปลงเซลล์ในแผ่นงาน หากหลังจากการเปลี่ยนแปลงเซลล์ว่างเปล่ามันก็มีเหตุผลว่าผู้ใช้เพิ่งลบเซลล์หรือกด Enter เมื่อแก้ไขเซลล์ที่ว่างเปล่าอยู่แล้วโดยไม่ต้องเขียนอะไรลงในเซลล์
เหตุการณ์การเปลี่ยนแปลงสามารถตั้งค่าให้ตรวจสอบเฉพาะช่วงที่เจาะจงพูดคอลัมน์ A ถึง F และจะลบเฉพาะแถวหากเซลล์ในคอลัมน์เหล่านี้ว่างเปล่าหลังจากการเปลี่ยนแปลง
ด้วยสิ่งนี้เป็นการเริ่มต้นล่วงหน้านี่คือโค้ดบางส่วนที่ทำในสิ่งที่ฉันอธิบาย
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:F")) Is Nothing Then
If Len(Trim(Target.Value)) = 0 Then
MsgBox "Cell was deleted - now deleting row" ' remove this line if you dont want the message
Application.EnableEvents = False ' turn off event monitoring so the routine does not loop
Selection.EntireRow.Delete
Application.EnableEvents = True ' turn on event monitoring
End If
End If
End Sub
คัดลอกรหัสนี้ จากนั้นคลิกขวาที่แท็บแผ่นงานเลือก "ดูรหัส" ในเมนูบริบทและวางรหัสลงในหน้าต่างรหัส อย่าลืมบันทึกไฟล์เป็นไฟล์. xlsm ที่เปิดใช้งานแมโคร