Dim zzデータ範囲 As Range
Set zzデータ範囲 = Range("A1").CurrentRegion
zzデータ範囲.Resize(zzデータ範囲.Rows.Count - 1, zzデータ範囲.Columns.Count).Offset(1, 0).Select
Set zzデータ範囲 = Nothing
Sub zzz配列並替(ByRef zzh指定配列 As Variant, Optional zzh降順 As Boolean = False)
Application.ScreenUpdating = False
Dim zzループ用 As Variant, zz配列要素数 As Long
Dim zzCell As Range: Set zzCell = Workbooks.Add.Worksheets(1).Range("A1")
For Each zzループ用 In zzh指定配列
zzCell = zzループ用
Set zzCell = zzCell.Offset(1, 0)
Next zzループ用
Set zzCell = zzCell.Offset(-1, 0)
If zzh降順 = False Then
Range(zzCell.Parent.Range("A1"), zzCell).Sort zzCell, xlAscending
Else
Range(zzCell.Parent.Range("A1"), zzCell).Sort zzCell, xlDescending
End If
zz配列要素数 = LBound(zzh指定配列)
For Each zzループ用 In Range(zzCell.Parent.Range("A1"), zzCell)
zzh指定配列(zz配列要素数) = zzループ用
zz配列要素数 = zz配列要素数 + 1
Next zzループ用
zzCell.Parent.Parent.Close False
Set zzCell = Nothing
Application.ScreenUpdating = True
End Sub
If zzh降順 = False Then
Range(zzCell.Parent.Range("A1"), zzCell).Sort zzCell, xlAscending
Else
Range(zzCell.Parent.Range("A1"), zzCell).Sort zzCell, xlDescending
End If
Sub zzz重複除外(ByRef zzh指定配列 As Variant)
Dim zz配列_Loop As Variant, zz作成配列() As Variant, zz配列要素数 As Long, zz判定辞書 As Object
If IsObject(zzh指定配列) = True Then
Err.Raise (13)
Exit Sub
Else: End If
Set zz判定辞書 = CreateObject("Scripting.Dictionary")
For Each zz配列_Loop In zzh指定配列
If zz判定辞書.Exists(zz配列_Loop) = False Then
zz判定辞書.Add zz配列_Loop, zz配列_Loop
ReDim Preserve zz作成配列(zz配列要素数)
zz作成配列(zz配列要素数) = zz配列_Loop
zz配列要素数 = zz配列要素数 + 1
Else: End If
Next zz配列_Loop
Erase zzh指定配列
zzh指定配列 = zz作成配列
End Sub
Function zzzセル範囲1次元配列化(ByVal zzhセル範囲 As Range, Optional zzhText取得 As Boolean = False) As Variant
Dim zz動的配列() As Variant, zzセル_Loop As Range, zz配列要素数 As Long
For Each zzセル_Loop In zzhセル範囲
If zzセル_Loop <> "" Then
ReDim Preserve zz動的配列(zz配列要素数)
If zzhText取得 = False Then
zz動的配列(zz配列要素数) = zzセル_Loop.Value
Else
zz動的配列(zz配列要素数) = zzセル_Loop.Text
End If
zz配列要素数 = zz配列要素数 + 1
Else: End If
Next zzセル_Loop
zz配列要素数 = 0
zzzセル範囲1次元配列化 = zz動的配列
End Function