これまでのところコンボボックスをソートしようとしています。 私がインターネットで見つけ、以下の古典的なコードを使用しています:私は、この行で、このサブを呼び出すいComboBoxをVBA Excelでソート
Sub SortComboBox(ByRef oCB As ComboBox)
Dim vItems As Variant
Dim i As Long
Dim j As Long
Dim vTemp As Variant
' Put the items in a array
vItems = oCB.List
' Sort the array
For i = LBound(vItems, 1) To UBound(vItems, 1) - 1
For j = i + 1 To UBound(vItems, 1)
If vItems(i, 0) > vItems(j, 0) Then
vTemp = vItems(i, 0)
vItems(i, 0) = vItems(j, 0)
vItems(j, 0) = vTemp
End If
Next j
Next i
' Clear the ComboBox
oCB.Clear
' Add the sorted array back to the ComboBox
For i = LBound(vItems, 1) To UBound(vItems, 1)
oCB.AddItem vItems(i, 0)
Next i
End Sub
を:
SortComboBox (Sheet1.cboSolvent)
コンボボックス「cboSolvent」はWorksheet1であり、すでにから充填されますワークシート2。 ComboBox 'cboSolvent'がすでにいっぱいだがソートされていないときはSub 'SortComboBox'を呼び出しています。
私は以下のエラーが表示されます:「オブジェクトが必要ですが、わかりません。私にとって、cboSolventはオブジェクト(ComboBoxオブジェクト)です。 さらに、Sheet1.cboSolventは、メッセージSheet1.cboSolvent = "Data"で強調表示されます。それはSheet1.cboSolvent.Text = "Data"でなければならないので、私にとっては不明なことです。
もちろん、この問題を解決する助けとなりますが、私が理解していないことを理解する助けとなります。
ありがとうございました。
パーフェクト!私はこれらの2つの表記を知っていましたが、私は存在しない新しいものを作成すると思います。そんなにばかげて申し訳ありません!ありがとう。 – JLuc01
それはうまくいってうれしい、あなたが学ぶ方法です、ごめんなさい必要はありません! –