Sorting WORD VBA升序排序和降序排序
下面是我的代码,它将数组中的单词按升序排序。我需要帮助以这样一种方式更改它,它也将按降序对单词进行排序,所有这些都在一个函数中。请帮忙。谢谢Sorting WORD VBA升序排序和降序排序,sorting,vba,ms-word,Sorting,Vba,Ms Word,下面是我的代码,它将数组中的单词按升序排序。我需要帮助以这样一种方式更改它,它也将按降序对单词进行排序,所有这些都在一个函数中。请帮忙。谢谢 Function Sort_Asc(ByRef str() As String) Dim iLower As Integer, iUpper As Integer, iCount As Integer, Temp As String Dim str2 As String iUpper = UBound(str)
Function Sort_Asc(ByRef str() As String)
Dim iLower As Integer, iUpper As Integer, iCount As Integer, Temp As String
Dim str2 As String
iUpper = UBound(str)
iLower = 1
Dim bSorted As Boolean
bSorted = False
Do While Not bSorted
bSorted = True
For iCount = iLower To iUpper - 1
str2 = StrComp(str(iCount), str(iCount + 1), vbTextCompare)
If str2 = 1 Then
Temp = str(iCount + 1)
str(iCount + 1) = str(iCount)
str(iCount) = Temp
bSorted = False
End If
Next iCount
iUpper = iUpper - 1
Loop
End Function
怎么样
Function Sort(ByRef str() As String, ByVal booAsc As Boolean)
Dim iLower As Integer, iUpper As Integer, iCount As Integer, Temp As String
Dim str2 As String
iUpper = UBound(str)
iLower = 1
Dim bSorted As Boolean
bSorted = False
Do While Not bSorted
bSorted = True
For iCount = iLower To iUpper - 1
If booAsc Then
str2 = StrComp(str(iCount + 1), str(iCount), vbTextCompare)
Else
str2 = StrComp(str(iCount), str(iCount + 1), vbTextCompare)
End If
If str2 = 1 Then
Temp = str(iCount + 1)
str(iCount + 1) = str(iCount)
str(iCount) = Temp
bSorted = False
End If
Next iCount
iUpper = iUpper - 1
Loop
End Function
并使用
Sort strArray,False'(假升序,真降序)
调用该函数,谢谢您让它工作起来。谢谢你的帮助,伙计!