Page 1 of 1

vba ถ้าต้องการลบแถวครั้งละมากกว่า 1 แถว ต้องปรับโค้ดอย่างไรครับ

Posted: Sat Jul 16, 2022 7:25 pm
by 10idlnw
โค้ดด้านล่าง ใช้สำหรับลบแถวได้ทีละแถว

Code: Select all

Private Sub CommandButton1_Click()
    ActiveCell.EntireRow.Delete
End Sub
แต่ถ้าผมต้องการลบครั้งละมากกว่า 1 แถว และคำสั่งทำงานเฉพาะพื้นที่ๆกำหนดเท่านั้น(ภายใน A1:B15) ต้องปรับโค้ดอย่างไรครับ นี่คือตัวอย่างที่ผมลองทำดู แต่ใช้ไม่ได้ผลครับ

Code: Select all

Private Sub CommandButton1_Click()
If Not Intersect(Target, Range("A1:B15")) Is Nothing Then
    ActiveCell.EntireRow.Delete
End If
End Sub

Re: vba ถ้าต้องการลบแถวครั้งละมากกว่า 1 แถว ต้องปรับโค้ดอย่างไรครับ

Posted: Sat Jul 16, 2022 8:01 pm
by snasui
:D เดือน ก.ค. 2565 คุณ 10idlnw ยังไม่ได้แจ้งผลหลายกระทู้ กรุณาแจ้งผลตามกฎการใช้บอร์ดข้อ 6 ด้านบนด้วยครับ :arrow: แจ้งผลการใช้งาน

Re: vba ถ้าต้องการลบแถวครั้งละมากกว่า 1 แถว ต้องปรับโค้ดอย่างไรครับ

Posted: Sat Jul 16, 2022 10:02 pm
by 10idlnw
ต้องของอภัยอาจารย์ที่พลาดไม่ได้แจ้งผลไปหลายกระทู้ ตอนนี้ได้เข้าไปแจ้งผลในแต่ละกระทู้ตามกฎครบเป็นที่เรียบร้อยแล้วครับ

Re: vba ถ้าต้องการลบแถวครั้งละมากกว่า 1 แถว ต้องปรับโค้ดอย่างไรครับ

Posted: Sat Jul 16, 2022 10:27 pm
by snasui
:D ตัวอย่างการลบบรรทัดของพื้นที่ที่เลือกไว้ครับ

Code: Select all

Private Sub CommandButton1_Click()
'If Not Intersect(Selection, Me.Range("A1:B15")) Is Nothing Then
    Selection.EntireRow.Delete
'End If
End Sub

Re: vba ถ้าต้องการลบแถวครั้งละมากกว่า 1 แถว ต้องปรับโค้ดอย่างไรครับ

Posted: Sat Jul 16, 2022 11:07 pm
by 10idlnw
ขอบคุณมากครับ อาจารย์ ตรงตามความต้องการเลยครับ