非常に初心者のプログラマーので、私の質問があまりにも愚かではないことを願っています。私はコールできる共通のソートサブルーチンを設定しようとしていますが、ソートサブルーチンはその範囲の変数を調べます。このようにして、ソートルーチンにハードコードされていない場所(サブルーチンと呼ばれるボタンなど)を別の場所に設定することができます。VBA:並べ替えサブの変数として格納された範囲を参照する
これまでの思考の私の列車はこれです:Range("A4:A100")
はサブSortCodeDsc
にある場合
Dim Column As Range
Sub SortCodeDsc()
ActiveWorkbook.Worksheets("Benchmark Data").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Benchmark Data").Sort.SortFields.Add Key:=Range("A4:A100").Value, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Benchmark Data").Sort
.SetRange Range("A4:HH100")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Private Sub Year_Click()
Set Column = ActiveSheet.Range("A4:A100")
Call SortCodeDsc
End Sub
だから私が代わりに私がA4
からA100
の範囲に設定する変数の列を呼び出すしたいと思います。サブルーチンを呼び出すときに、その変数を正しく呼び出すにはどうすればよいですか?
'Private'または' Range'などの公共の列は、使用 'COLUMN' http://www.vb6.us/tutorials/vb6-variable-scopeまた、それに機能を一般化するワークシートを渡すことができ –