0

私は VB または VBA を初めて使用しますが、最近の Excel の作業では膨大な回数の繰り返しが必要です。そのため、プロセスを簡素化するために VBA マクロ アプローチを検討しています。

作業は簡単です - 与えられたデータでチャートを生成するだけです。しかし、何百ものグラフを作成する必要があるため、スタイルの一貫性を維持するためにコピー アンド ペーストを使用し、後で値を変更しました。

データではすべてがうまくいきましたが、軸ラベルではそれほどスムーズではありませんでした。それぞれのセルの既存のテキストに値を変更するために使用ActiveChart.SeriesCollection(1).XValues = "=<sheet_name>!$<row_num>$<col_num>"しようとしていましたが、元のグラフの A6 セルのようにラベルが「合計」の場合、グラフではうまくいきませんでした。貼り付けたチャートを選択して上記のコマンドを実行した後、新しいチャートのラベルには、たとえば「中国」などのB6セルにあるものの代わりに「合計」と表示されます。しかし、グラフを右クリックして「データの選択」に入ると、「水平 (カテゴリ) 軸ラベル」が実際に「=sheet1!$B$6」に変更され、非常に混乱しました。

これがどのように起こったのか、これを修正する方法を知っている人はいますか? チャート オブジェクトへの「更新」メソッド、または私が見逃しているものはありますか?

現在エクセル2010を使用しています。

4

1 に答える 1

1

Excel VBA の不思議な世界へようこそ。

SeriesCollection().XValuesオブジェクトまたはポイントの配列のいずれかが必要なRangeため、文字列を範囲に変換する必要があります。

ActiveChart.SeriesCollection(1).XValues = Sheets(<sheet_name>).Range("$<row_num>$<col_num>")
于 2013-03-24T11:52:11.677 に答える