0

私はすべて同じ値を持ついくつかのコンボボックスを持っています - ""、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シートの範囲を介してコンボボックスにデータが取り込まれています

4

1 に答える 1