0

以下に示すマクロを使用してリストボックス(xactiveコントロール)を作成しました。

Private Sub Workbook_Open()

    With Sheet1.ListBox1
       .AddItem "AAA"
       .AddItem "BBB"
       .AddItem "CCC"
       .LinkedCell = "$A$5"
    End With

End Sub

リストボックスを完成させるには、「AAA」をクリックすると1が表示され、「BBB」をクリックすると2が表示され、「CCC」をクリックすると3が表示されます。

リンクされたセルにインデックス式を追加することが解決策であることをオンラインで2日間検索しました。ただし、リストの塗りつぶし範囲がマクロであるため、インデックス式を使用できません。

どんな助けでもいただければ幸いです。

4

1 に答える 1

1

必要な変更

VB エディターで Sheet1 をダブルクリックし、次のコードを入力します。

Private Sub ListBox1_Change()

    Sheet1.Range("$A$5").Value = ListBox1.ListIndex

End Sub

コードから次の行を削除します。

.LinkedCell = "$A$5"

もう一度実行します。リストボックスからアイテムを選択します。

オプションの提案

単なる提案ですが、これを既存のコードに使用できます。特にアイテムを追加する必要がある場合は、もう少し簡潔にします。

Private Sub Workbook_Open()
    Dim data() As Variant
    data = Array("AAA", "BBB", "CCC")
    Sheet1.ListBox1.List = data
End Sub
于 2013-02-28T02:28:14.447 に答える