私は2つのコンボボックスでExcelユーザーフォームを作成しています。1つのcomboxは、「CompaniesandSubsidiaries」という名前のsheet3(列A)からデータを取得します。次に、最初のコンボボックスに基づいて、2番目のコンボボックスがサブカテゴリデータを取得します。しかし、問題は列Aにデータの繰り返しがあることです。画像を添付しました。
私が試しているのは:
Private Sub Combobox1_DropButtonClick()
Dim rng As Range
Dim ws As Worksheet
Set ws = Worksheets("CompaniesandSubsidiaries")
For Each rng In ws.Range("Companies")
Me.ComboBox1.AddItem rng.Value
Next rng
End Sub
Private Sub ComboBox2_DropButtonClick()
Dim rng As Range
Dim ws As Worksheet
Set ws = Worksheets("CompaniesandSubsidiaries")
For Each rng In ws.Range("Providers")
Me.ComboBox2.AddItem rng.Value
Next rng
End Sub
「列Aと列B」の名前の付いた会社とプロバイダーの両方の式をそれぞれ作成しました。しかし、それは値を繰り返します。私が欲しくないこと。
最初のコンボボックスのデータをsheet3から会社名として動的に取得し(重複なし)、次のコンボボックスが有効になり、会社名に対応するプロバイダーリストが表示されます。
シンプルでわかりやすいコードを提供してください。ありがとう
重複する値を削除するには、コードの下のComboBoxに入力する前に重複するデータを削除できます。
ActiveSheet.Range("Companies").RemoveDuplicates Columns:=1, Header:=xlNo
また、Companiesデータを配列変数に手動で保存し、その配列の各項目を反復処理して、重複しているかどうかを確認することもできます。ここに、配列上の各データを評価し、明確な/一意の値を作成する方法を説明するリンクビデオがあります。https://www.facebook.com/excelfuneasy/videos/693150624214021/
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加