0

私はvba Excelを初めて使用し、ドロップダウンリストの選択に依存する条件付きコンボボックスを配置することに成功しました.私が直面している問題は、コンボボックス内の任意のアイテムをクリックするたびに、ボックスに表示されないことです.クリック。

誰でもこの問題を解決するのを手伝ってくれませんか。

ありがとうございました

私が使用したコードは次のとおりです。

    Private Sub ComboBox1_DropButtonClick()
ComboBox1.Clear


If Worksheets("Sheet1").Cells(2, 1).Value = "PHE" Then
With ComboBox1

For row = 1 To 1300
.AddItem Sheets("Sheet2").Cells(row, 6)
Next row
End With

End If

If Worksheets("Sheet1").Cells(2, 1).Value = "HSS" Then
With ComboBox1
For row = 2 To 56
.AddItem Sheets("Sheet2").Cells(row, 8)
Next row
End With

End If

If Worksheets("Sheet1").Cells(2, 1).Value = "Decanter" Then
With ComboBox1
For row = 3 To 249
.AddItem Sheets("Sheet2").Cells(row, 9)
Next row
End With

End If

End Sub
4

1 に答える 1

0

選択された値を何らかの方法で解釈できる場合は、コンボボックスの値をリセットすることができます。これは、値が適切に選択されている場合にのみ適用され、コンボボックスには表示されません。

ComboBox1.Value = something

また、これはよりクリーンになる可能性があります (ここにコードを記述するため、タイプミスが存在する可能性があります)。

Private Sub ComboBox1_DropButtonClick()

ComboBox1.Clear

Select Case Worksheets("Sheet1").Cells(2, 1).Value
Case "PHE"
  minrow = 1
  maxrow = 1300
  col = 6
Case "HSS"
  minrow = 2
  maxrow = 56
  col = 8
Case "Decanter"
  minrow = 3
  maxrow = 249
  col = 9
Case Else
  'error handling
End Select

With ComboBox1
  For row = minrow To maxrow
    .AddItem Sheets("Sheet2").Cells(row, col)
  Next row
End With

End Sub
于 2013-04-09T05:22:48.647 に答える