私はすべて同じ値を持ついくつかのコンボボックスを持っています - ""、1-12。ユーザーがアイテムを選択すると、他のすべてのアイテムが消えるようにしようとしています。新しい項目が選択されると、最後の項目が再設定されます。
これは私がこれまで持っているものです。
Private Old182 As String
Private Sub ComboBox182_Change()
Dim i
Dim y
If ComboBox182 <> Old182 Then
For i = 182 To 193
If i <> 182 Then
If ComboBox182 <> Old182 Then
If ComboBox182 <> "" Then
Controls("ComboBox" & i).RemoveItem ComboBox182.Value
If ComboBox182 <> "" Then
If Old182 <> "" Then
Controls("ComboBox" & i).AddItem Old182
End If
End If
End If
End If
End If
Next
End If
Old182 = ComboBox182.Value
End Sub
私の最初の実行では、最初のアイテムが削除されます。たとえば、1 をクリックすると (1) が削除されます。2 をクリックすると、(3) が削除されます。インデックス値で削除しているため、これを行うと思います。1 => "", (1). したがって、配列は ""、2、3 などです。2 => (3)。デモが下手だったらごめんなさい。とにかく、配列から値を削除して配列をリセットするようにするにはどうすればよいですか、またはインデックスに等しいインデックスではなく、値に一致する配列から値を削除するにはどうすればよいですか?
Excelシートの範囲を介してコンボボックスにデータが取り込まれています