1

Excel 2010で値を生成し、最初にそれらを配列に入れ、次に対数混合x軸のデータラベルとして使用するためにそれらをワークシートにコピーします(実際にはChart Labellerを呼び出してそれを行いますが、これはExcelから手動で適用した場合にも発生します)。ほとんどの場合、これは問題なく正常に動作します。ただし、一部のデータ ラベルが表示されない場合がありますが、ワークシートにデータが存在する場合でも、データ ラベルを手動で選択すると、選択された非表示のラベルが表示されます。

ワークシートに移動して、グラフに表示されていない値を再入力すると、グラフに表示されます。

これが配列の私の薄暗いものです:

Dim chart_labeler_info_x()

配列にデータを入力する方法は次のとおりです。

'Assuming we are going to do the x-axis

ReDim chart_labeler_info_x(1 To x_axis_interval_num, 1 To 3)
For k = 1 To x_axis_interval_num
    'Column 1 is the new chart label value, column 2 is the y value of the new series , column 3 is the x value(equivalent to 111...)

    '--------------------------------------------------------
    chart_labeler_info_x(k, 1) = suf_ize(10 ^ (Log(x_axis.MinimumScale) / Log(10#) + (k - 1)))
    chart_labeler_info_x(k, 2) = y_axis.MinimumScale
    chart_labeler_info_x(k, 3) = 10 ^ (Log(x_axis.MinimumScale) / Log(10#) + (k - 1))
    '--------------------------------------------------------
Next k

ワークシートの範囲を初期化する方法は次のとおりです。

Set new_labeler_ws_x_axis = Sheets.Add
new_labeler_ws_x_axis.Name = Chart_for_series & "Eng_Labels_X_Axis"

new_labeler_ws_x_axis.Range("a1:c" & x_axis_interval_num).Value = chart_labeler_info_x
new_labeler_ws_x_axis.Range("a1:c" & x_axis_interval_num).Font.Name = "Arial"
new_labeler_ws_x_axis.Range("a1:c" & x_axis_interval_num).Font.Size = 7

この範囲に関連付けられた新しいシリーズも作成します。

With ActiveChart.SeriesCollection.NewSeries
    .XValues = Sheets(new_labeler_ws_x_axis.Name).Range("C1:C" & x_axis_interval_num)
    .Values = Sheets(new_labeler_ws_x_axis.Name).Range("B1:B" & x_axis_interval_num)
    .Name = "=""Labeller_x"""
    .Border.Color = RGB(0, 0, 0)
    .Format.line.Visible = True
End With

ワークシートで生成されるデータは次のようになります。

1m          100 0.001
10m         100 0.01
100m        100 0.1
1           100 1
10          100 10
100         100 100
1k          100 1000

列 1 には、新しいデータ ラベルとして使用される値があります。列 2 は y 値、列 3 は実際の x 値です。(お役に立てれば、ワークシートを添付できます。)

これが私が話していることのイメージです:

グラフ ラベル

そこにあるはずの 1k データ ラベルが表示されていないことに気付きます。

1k データ ラベルを次の 2 つの方法のいずれかで表示できます。

  1. シリーズの最大値を 10,000 (10k) に拡張します。この場合、1k ラベルが表示されます。
  2. 手動でワークシートに移動し、値が 1000 のセルを選択し、値 1000 を再入力して Return キーを押すと、データ ラベルが 1k と表示されます。

その他の興味深い異常として、最大値が 100 の場合、100 のデータ ラベルも消えます。最大値が 1000 を超えて増加しているため、データ ラベルがすべて表示されても問題はないようです。

一般的な数値形式を小数点以下2桁の数値に変更しようとしましたが、うまくいきませんでした。テキストに変更して戻ると、うまくいきません。

これはバグだと思いますが、情報は見つかりませんでした。専門家の誰かがこれに光を当てることができますか?

4

1 に答える 1