0

複数の値を持つ列があり、名前をアルファベット順に並べ替えたいのですが、どのように並べ替えるのですか? 例: - これが現在の外観です。

Name                                       |  Code  |  Status

Amanda, Bryan, Zoey, Albert, Macro, Johnny | 33     | Active
Amanda, Bryan, Zoey, Albert, Jeniffer, Mac | 44     | Active  
4

1 に答える 1

0

これを VBA で行うのが最も簡単です。VBA モジュールで次の 2 つの関数を作成します。

Public Function fSort(vValue As String, vDelimiter As String) As String
    'Take a string, split it into an array based on the delimiter,
    'sort it and finally convert it back into a string

    fSort = Join(fSortArray(Split(vValue, vDelimiter)), vDelimiter)

End Function

Function fSortArray(vArray As Variant) As Variant
    'Sort a one dimensional array of string values alphabetically

    Dim vI As Long, vJ As Long
    Dim vTmp As String

    For vI = 0 To UBound(vArray)
        For vJ = vI To UBound(vArray)
            If UCase(vArray(vJ)) < UCase(vArray(vI)) Then
                vTmp = vArray(vI)
                vArray(vI) = vArray(vJ)
                vArray(vJ) = vTmp
            End If
        Next
    Next

    fSortArray = vArray
End Function

次にfSort、次のようなセル式で使用します。

=fSort(A3,", ")
于 2013-10-24T08:17:11.667 に答える