|
▼pon さん:
>エクセルで
>エクスプローラのような並びにするにはどうすればよいでしょうか
エクスプローラの並びというのは 数字の部分を数値として並び替えて
いるということですかね?
泥臭い方法ですが、こんなのとか?
([A2]以降に ファイルリストがあるとします。拡張子は同じとします)
Sub Try1()
Dim r As Range
Dim i As Long, j As Long
Dim arry, S As String
Set r = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Resize(, 2)
r.Columns(2).ClearContents
arry = r.Columns(1).Value
For i = 1 To UBound(arry)
S = arry(i, 1)
For j = 1 To Len(S)
If Mid$(S, j, 1) Like "#" Then
arry(i, 1) = Left$(S, j - 1) & Format$(Val(Mid$(S, j)), String$(20 - j, "0"))
Exit For
End If
Next j
Next i
r.Columns(2).Value = arry
r.Sort Key1:=r.Columns(2), Header:=xlNo
'r.Columns(2).ClearContents
End Sub
|
|