質問: vba combboxの項目について エクセルvbaのuserformのcombboxで表示する項目を、 additemで追加した後に、 項目をabc順で表示する様に並びかえる方法はありますか? additemで追加する前に並びかえてから additemで追加するしかないのですか?
回答: excelのシートを使って並び替えてもらうのはどうでしょう たとえば、 combobox1.additem 123 とかの代わりに comboboxadditem combobox1, 123 で追加してください。 並び替え方は、sortの部分を変更してください。 sub comboboxadditem(combo as combobox, newdata as variant) dim ws as worksheet dim n as integer dim i as integer set ws = sheet2 '作業用シート(適当なシートを指定してください) n = combo.listcount 'comboのデータ数 'comboのデータを作業用シートへ ws.cells.clear for i = 1 to n ws.cells(i, 1) = combo.list(i - 1) next '追加データを作業用シートへ ws.cells(n + 1, 1) = newdata 'sort(必要に応じてパラメータを変更してください) ws.range(ws.cells(1, 1), ws.cells(n + 1, 1)).sort key1:=cells(1, 1), order1:=xlascending, header:=xlno, orientation:=xltoptobottom '作業用シートのデータをcomboへ combo.clear for i = 1 to n + 1 combo.additem ws.cells(i, 1) next end sub