ユーザーがExcelでユーザーフォームからチェックボックスを選択すると、特定の条件に基づいて範囲を並べ替えようとしています。特定の範囲を並べ替えるVBA
ユーザーには4つのチェックボックスのオプションが与えられます(各チェックボックスは特定の範囲をソートします)。私はいくつかの方法を試してみたと、私は実行時エラー
Private Sub btnConfirm_Click()
If (chkbxValid.value) Then
SortData (Range("H4:I1000"))
End If
If (chkbxValidDuplicate.value) Then
SortData (Range("K4:L1000"))
End If
If (chkbxInvalid.value) Then
SortData (Range("N4:O1000"))
End If
If (chkbxInvalidDuplicate.value) Then
SortData (Range("Q4:R1000"))
End If
End Sub
の上で「必要なオブジェクト」得続けるそれを把握するように見えることはできません。そして、ここでのコードの第2セグメントだ
Private Function SortData(rng As Range)
FR = 1
FC = 1
LR = 1000
LC = 2
SC = 2
Sheets("TRACKER_2.0").rng(cells(FR, FC), cells(LR, LC)).Sort Key1:=Range(cells(FR, SC), cells(LR, SC)), Order1:=xlAscending
End Function
キーとして複数の列を使用しようとしています。 –
関数呼び出しの前後に角括弧を入れてください。また、 'Key1'は最初のソートフィールドを指定しなければなりません。意図しない結果を招くような範囲全体を使用しています。 – SJR