จะลบทั้งแถวใน excel 2013 ได้อย่างไรถ้าหนึ่งในเซลล์ในแถวเดียวกันถูกลบออกไป?


1

คุณสามารถแนะนำวิธีการใด ๆ ที่เมื่อใดก็ตามที่ฉันลบข้อมูลในเซลล์เฉพาะข้อมูลอื่น ๆ ทั้งหมดในแถวของมันจะถูกลบโดยอัตโนมัติ

ฉันได้ทำการวิจัยแล้วและฉันได้ใช้ Visual Basics สำหรับรหัสแอปพลิเคชันลบแถวที่ 2 แต่ฉันไม่รู้วิธีใช้งานจริง ๆ ใครสามารถสอนฉันถึงวิธีการใช้รหัสที่ฉันกล่าวถึงได้หรือไม่

คำตอบ:


2

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 ที่เปิดใช้งานแมโคร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.