|
>Function UserSort(sellRange As Range, celKye1 As Range, sheetname As String)
>Workcheets(sheetname).Activate
>Range(sellRange).Select ★?
>Selection.Sort Key1:=Range(celKye1) ★?, Order1:=xlAscending, Header:=xlGuess, _
>OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
>:=xlStroke
>Range("A4").Select
>End Function
>指定の仕方が間違っているのでしょうか。
>アドバイスお願いいたします。
引数がRangeで渡されているのに、★印の部分でそれのRangeを取っているからでは?
後、戻り値を返さないのだから、Functionでは無く、Subで
私の場合は、以下の様にしています
引数rngScope、rngKeyは、Book、Sheet等で修飾したRangeを渡せば善いと思います
Sub MainMacro()
With Worksheets("Sheet1")
DataSort .Range("A4:G100"), .Range("A4")
End Wirh
End Sub
Private Sub DataSort(rngScope As Range, _
rngKey As Range, _
Optional lngOrientation As Long = xlTopToBottom)
rngScope.Sort _
Key1:=rngKey, Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=lngOrientation, SortMethod:=xlStroke
End Sub
|
|