ฉันสามารถกำหนดค่า (อาจมีสคริปต์) Excel ให้ใช้ตารางโดยอัตโนมัติทุกครั้งที่มีการอัพเดตรายการหรือไม่
ฉันสามารถกำหนดค่า (อาจมีสคริปต์) Excel ให้ใช้ตารางโดยอัตโนมัติทุกครั้งที่มีการอัพเดตรายการหรือไม่
คำตอบ:
google ด่วนให้ฉันว่า:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Worksheets(1).Range("E9:F32"), Target) Is Nothing) Then
DoSort
End If
End Sub
Private Sub DoSort()
Worksheets(3).Range("E3:M7").Sort Key1:=Worksheets(3).Range("M3"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L3"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E10:M14").Sort Key1:=Worksheets(3).Range("M10"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L10"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E17:M21").Sort Key1:=Worksheets(3).Range("M17"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L17"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E24:M28").Sort Key1:=Worksheets(3).Range("M24"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L24"), Order2:=xlDescending, Header:=xlYes
End Sub
ฉันไม่มีความรู้เกี่ยวกับ VBA มากนัก แต่ฉันจะพยายามอธิบายวิธีการปรับแต่งนี้หากฉันล้มเหลวให้แจ้งให้ฉันทราบ ;)
ด้วยย่อยแรกที่คุณกำหนดเมื่อฟังก์ชั่นถูกยิง บรรทัดด้านบนบอกว่าเริ่ม DoSort เมื่อมีอะไรเปลี่ยนแปลงในเวิร์กชีต 1 ในเซลล์ E9 ถึง F32
DoSort จัดเรียงช่วงบางช่วงและสามารถปรับให้เข้ากับช่วงข้อมูลของคุณเองได้เช่นกัน เพียงลบบรรทัดที่ไม่ต้องการออกและเปลี่ยนหมายเลขแผ่นงานและช่วงข้อมูล