2017-11-30 10 views
0

私は数ヶ月前にコーディングを始めました。私は降順で列に乱数を配置しようとしています。私が選択したルートでは、列内の位置に関係なく、特定の値(列の最小数)のセルを選択する簡単なコードを見つけることを試みています。ランダムな場所にあるセルを選択してvbaを削除してください

ありがとうございます。

+0

SMALL関数に見えます。 –

+0

'乱数を降順で整列しようとしています。' 'ソート'を見てください。ある範囲内の最小の数字を見つけてそれを削除するには、 '.Find'を使ってください。 –

+1

これまでに何を試みましたか? – Oleg

答えて

1

Sort関数を使用して、列を昇順または降順に並べ替えることができます。ここで

は、例としてColumn Aを注文するためのコードです:

Sub OrderColumnDescending() 
    Dim lastrow As Long 

    'If you change the column change the 1 with the number 
    'of your column to order 
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row 

    Range("A1:A" & lastrow).Sort key1:=Range("A1:A" & lastrow), _ 
     order1:=xlDescending, Header:=xlNo 
End Sub 

あなたはVBAに新しいしていると述べたので、ここではコードに関するいくつかの説明があります。

lastrow = Cells(Rows.Count, 1).End(xlUp).Row 

この行は列番号1で最後に使用された行を取得し、私は後でそれを使用することができますので、私はlastrow変数に値を入れます。これは、固定値よりも優れており、毎回全体を書き込むよりも読みやすいです。

Range("A1:A" & lastrow).Sort key1:=Range("A1:A" & lastrow), _ 
     order1:=xlDescending, Header:=xlNo 

IはXは、我々が以前に計算カラムAで使用される最後の行であるXにA1からの細胞を含むRangeオブジェクトを作成します。この範囲から私はそのSortメソッドを呼び出し、そのKey1Order1Headerのパラメータを与えます。

ここにはRange.Sortメソッドに関する有用なリンクがあります。

MSDN - Range.Sort Method

Stack Overflow - VBA Excel sort range by specific column