Microsoft ExcelでVBAを使用してアルファベット順にテキストデータをソート
この記事では、データをアルファベット順に並べ替えるカスタム関数を作成します。
生データは、並べ替えるランダムな名前で構成されています。
ロジックの説明
データをアルファベット順に並べ替える「SortString」カスタム関数を作成しました。ソースの範囲と位置を入力として受け取り、指定された位置に基づいて値を返します。この関数は、最初にソートされた配列を作成し、次に指定された位置を使用して、ソートされた配列から必要な値を抽出します。
コードの説明
UBound(values)
上記の関数は、配列内の値の数を取得するために使用されます。
values(j)= values(j – 1)
上記のコードは、配列内の値を1つのインデックスだけシフトするために使用されます。
コードについては以下に従ってください
Option Explicit Function SortString(Source As Range, Position As Long) As String 'Declaring variables Dim Cell As Range Dim values() As String Dim i As Long, j As Long Dim Done As Boolean ReDim values(1 To 1) 'Looping through all cells in the range For Each Cell In Source Done = False i = 1 'Creating an array of sorted name Do If Cell.Value < values(i) Then Done = True Else i = i + 1 End If Loop While Done = False And i <= UBound(values) ReDim Preserve values(1 To UBound(values) + 1) If i <= UBound(values) Then 'Adjusting value in sorted name array For j = UBound(values) To i + 1 Step -1 values(j) = values(j - 1) Next j End If values(i) = Cell.Value Next Cell 'Assigning value of required position SortString = values(Position + 1) End Function
このブログが気に入ったら、FacebookやFacebookで友達と共有してください。
皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください