เรียงรายชื่อในชีท ด้วยcode vba
Posted: Fri Jul 13, 2018 1:21 pm
อยากทราบว่าจะเรียงรายชื่อตามตัวอักษร เช่น a ถึง z, ก ถึง ฮ หรือ 1 ถึง 9 ใน sheet ต้องใช้ code vba อย่างไรคะ
คลังคำตอบแห่งความรู้จากคนไทย เพื่อโลกที่ต้องการเข้าใจในสิ่งเล็ก ๆ อย่างลึกซึ้ง
https://www.snasui.com/
Code: Select all
Dim sh As Worksheet
Dim ts As Worksheet
For Each sh In Worksheets
For Each ts In Worksheets
If ts.Name < sh.Name Then
ts.Move before:=sh
End If
Next ts
Next sh
Code: Select all
Dim sh As Worksheet
Dim ts As Worksheet
For Each sh In Worksheets
For Each ts In Worksheets
If LCase(ts.Name) < LCase(sh.Name) Then
ts.Move before:=sh
End If
Next ts
Next shCode: Select all
Dim sh As Worksheet
Dim ts As Worksheet
Dim i As Integer
Dim a() As Variant
Application.ScreenUpdating = False
For Each sh In Worksheets
For Each ts In Worksheets
If LCase(ts.Name) < LCase(sh.Name) Then
ts.Move before:=sh
End If
Next ts
Next sh
For Each sh In Worksheets
If sh.Tab.Color <> False Then
ReDim Preserve a(i)
a(i) = sh.Index
i = i + 1
End If
Next sh
Worksheets(a).Move before:=Worksheets(1)
Application.ScreenUpdating = TrueCode: Select all
Application.ScreenUpdating = FalseCode: Select all
Application.ScreenUpdating = TrueCode: Select all
ReDim Preserve a(i)
a(i) = sh.Index
i = i + 1 March201711 wrote: Sat Jul 14, 2018 6:28 pm สงสัยคำสั่งว่า
ทำไมต้องใส่เปิดและปิดด้วยคะCode: Select all
Application.ScreenUpdating = False Application.ScreenUpdating = True
ใจความหลักคือ เป็นการขยายขอบเขตตัวแปร Array เพื่อรองรับสมาชิกตัวต่อไป โดยขยายขอบเขตตามค่าตัวแปร i และจะมีการกำหนดสมาชิกให้กับ Array ในตำแหน่งที่ i จากนั้นจะกำหนดค่าตัวแปร i เพิ่มขึ้นครั้งละ 1 ครับ การจะเข้าใจสิ่งเหล่านี้ต้องศึกษาให้เข้าใจเรื่อง Array ครับMarch201711 wrote: Sat Jul 14, 2018 6:28 pmความหมายว่าอย่างไรคะ อาจารย์ เพื่อจะได้ศึกษาเป็นความรู้ต่อไปค่ะCode: Select all
ReDim Preserve a(i) a(i) = sh.Index i = i + 1