Page 1 of 1
VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Sun Dec 04, 2022 8:31 pm
by poon747
VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
ตอนนี้ บันทึก code จาก macro แล้วทำ 2 ปุ่ม A-Z 1 ปุ่ม และ Z-A อีก 1 ปุ่มครับ
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Sun Dec 04, 2022 9:13 pm
by snasui
ทำได้ครับ
ลองแนบไฟล์นั้นมาด้วยจะได้สะดวกในการตอบของเพื่อนสมาชิกครับ
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Sun Dec 04, 2022 10:12 pm
by poon747
ขอบคุณครับ ตัวอย่างไฟล์ครับ
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Mon Dec 05, 2022 5:26 am
by snasui
ตัวอย่างการปรับ Code ครับ
Code: Select all
Dim odr As Integer
With ActiveSheet.Shapes("TextBox 1").TextEffect
If .Text = "A-Z" Then
odr = xlAscending
.Text = "Z-A"
Else
odr = xlDescending
.Text = "A-Z"
End If
End With
Range("C2:C13").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("C2:C13") _
, SortOn:=xlSortOnValues, Order:=odr, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("C2:C13")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("C2").Select
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Mon Dec 05, 2022 9:51 am
by poon747
ขอบคุณอาจารย์มากๆ ผลที่ได้ ตามต้องการเลยครับ
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Mon Dec 05, 2022 12:34 pm
by poon747
รบกวนอีกครั้งครับ ใช้ code ที่อาจารย์ปรับให้แล้ว เครื่องตัวเอง รันได้ปกติ
แต่พอส่งเมล์ให้อีกคน เป็น V.2013 รันแล้ว error 438 ครับ
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Mon Dec 05, 2022 2:05 pm
by snasui
Error นี้แม้ส่งไฟล์เดิมที่ยังไม่ปรับ Code ไปก็เกิด Error เช่นเดียวกัน เข้าใจว่าโปรแกรมในเครื่องที่เกิด Error ไม่รองรับ
.Add2
ครับ
ลองปรับ
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("C2:C13") _
เป็น
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C2") _
Ref:
https://learn.microsoft.com/en-us/offic ... fields.add
https://learn.microsoft.com/en-us/offic ... ields.add2
Re: VBA sort code เดียว กดสลับไปมาระหว่าง A-Z,Z-A ทำได้ไหมครับ
Posted: Mon Dec 05, 2022 4:00 pm
by poon747
ปรับใช้ code ใหม่ ทำได้ละครับ
ขอบคุณสำหรับ code และข้อมูลอ้างอิง จะนำไปศึกษาเพิ่มเติมครับ