ワークシートに動的検索を使用するコンボボックスがあります。動的検索は、別のワークシートにあるリストの型付き文字を検索することによって行われます。検索はExcel式で行います。リストは定義された範囲であり、コンボボックスのリストフィールドは名前付き範囲に設定されます。 ドロップダウンリストを入力すると、コンボボックスでリストから選択することができる特定のアイテムが表示されます。他のアイテムでは、選択したとおりに選択が消えます。私はなぜこれらのアイテムが消えてしまうのかを試しました。リストは長く(10,000項目)なので、動作が遅いですが、これが問題かどうかはわかりません。Excel VBAコンボボックスでリストから特定の項目を選択することができません
このような問題を解決するにはどうすればよいですか?ドロップダウンリストからマウスクリックの変数を定義する方法はありますか?事前に
おかげで、 タリ
これは私のコードです:
Private Sub ComboBox1_Change()
Sheets("PS").EnableCalculation = True
ComboBox1.ListFillRange = "DropDownList"
ComboBox1.DropDown
End Sub
Private Sub CommandButton21_Click()
Dim PS As Worksheet
Application.ScreenUpdating = False
Application.ErrorCheckingOptions.BackgroundChecking = False
Sheets("PharmaSoft").Select
Set PS = Sheets("PS")
SelectionA = PS.Range("J2").Value
If ComboBox1.Value = SelectionA Then
Range("J19") = "Pharmacy purchase price"
Range("N19") = PS.Range("K2")
Range("O19") = "ILS"
Range("J21") = "Pharmacy selling price Incl.VAT"
Range("N21") = PS.Range("L2")
Range("O21") = "ILS"
Range("J23") = "Package size"
Range("N23") = PS.Range("M2")
Range("J19:O23").Select
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Selection.Font.Bold = True
Application.ScreenUpdating = True
Range("N19").Errors.Item(1).Ignore = True
Range("N21").Errors.Item(1).Ignore = True
Range("N23").Errors.Item(1).Ignore = True
Else
MsgBox "Please select a product", vbCritical, "Error"
End If
Sheets("PS").EnableCalculation = False
End Sub
Private Sub CommandButton22_Click()
Application.ScreenUpdating = False
Sheets("PharmaSoft").Select
ComboBox1.Value = Null
Range("J19:O23").Value = Null
Application.ScreenUpdating = True
End Sub
Also the code for the workbook:
Private Sub Workbook_Open()
Sheets("PharmaSoft").Select
Application.ScreenUpdating = False
Sheets("PharmaSoft").ComboBox1.Value = Null
Range("J19:O23").Value = Null
Application.ScreenUpdating = True
End Sub
データの例やスクリーンショット、コード – user3598756
を追加して、使用しているコントロールのタイプやコードの場所を教えてください。私は意味:ComboBox1とすべてのボタン_ActiveX_コントロールまたは_Forms_ものですか? 「PS」はComboBox1が配置されているワークシートの名前ですか?どのワークブックが "PS"シートに属していますか?どのワークシートにボタンが配置されていますか?どのワークブックが「Workbook_Open()」に属していますか? – user3598756
私はフォームではなくActiveXコントロールのみを使用します。コードは「Pharmasoft」というワークシートにあり、データを検索してクリアするためのボタンが付いたGoogle検索フィールドを表示します。「PS」はアイテムのリストとコンボボックスのリストを計算する場所です。 workbook_openは、ブック全体に対して定義されています。 – Talilit82