1

どのシリーズを選択するかを決定するために、単一の選択リスト ボックスを使用しています。これに関する以前の開発者は次のことを行いました。

For i = 0 To ListBox4.ListCount - 1
   If ListBox4.Selected(i) Then
      Series_Msg = Series_Msg & ListBox4.List(i) & vbNewLine
      ActiveChart.SeriesCollection(i + 1).Select

      'other commands

  Next i

彼のコードをクリーンアップするために、次のようなことを試みました。

   If ListBox4.ListIndex <> -1 then

       ActiveChart.SeriesCollection(ListBox4.ListIndex + 1).Select

しかし、オブジェクトが必要なエラーが発生します。i をオブジェクトとして宣言し、ListIndex 値を割り当てようとしましたが、うまくいきませんでした。

ループなしでこれを行う方法を誰かが提案できますか? このループが必要だとは信じられません。

どんな助けでも大歓迎です!

ラス

4

3 に答える 3

1

チャートが適切に選択されていることを確認してください。

Worksheets("Sheet1").ChartObjects("Chart 1").Activate

If ListBox4.ListIndex <> -1 Then
    Series_Msg = Series_Msg & ListBox4.List(ListBox4.ListIndex, 0)
    ActiveChart.SeriesCollection(ListBox4.ListIndex + 1).Select
End If
于 2013-03-22T00:34:30.223 に答える