データラベルの Excel 数式に組み込まれた文字列に改行を入れる

データラベルの Excel 数式に組み込まれた文字列に改行を入れる

間に改行がある 2 つのセルから文字列を作成する数式を使用して、Excel グラフにデータ ラベルを作成する必要があります。

これはセルの数式では機能します:

=A1 & CHAR(10) & B1

これはVBAでも動作します

=A1 & Chr(10) & B1

この投稿のように:http://www.ozgrid.com/forum/showthread.php?t=40644しかし、どちらのアプローチもデータ ラベル内では機能しません。何かアイデアはありますか?

答え1

VBA ではこれを使用できます:

Dim str as String

str = Range("A").Value & vbCrlf & Range("B").Value

vbCrlf は改行を行います...

答え2

これは私の場合、VBA でうまくいきました:

Sheet1.ChartObjects(1).Chart.SeriesCollection(1).Name = "a" & vbCr & "b"

そして、前述したように、これは次の式で機能します。

=DATASERIES(Sheet1!$E$1,Sheet1!$A$2:$A$4,Sheet1!$B$2:$B$4,1)

E1 = "a" & CHAR(10) & "b"

E1 には単語の折り返しを設定する必要があります。

DATASERIES は、シリーズを選択したときに数式編集セクションに表示されるものです。

答え3

これが私がそれを動作させた方法です。

=A1 & CHAR(10) & B1ステップ1:セル内の数式でワードラップを有効にして新しい列を作成しC1、必要に応じて下にドラッグします。

ステップ2: 次のVBAコードを実行して、各データラベルが正しいセルを指すように設定します。

Sub SetDataLabels()

    Dim ChartName As String
    ChartName = "My Chart's Name"

    With ActiveSheet.ChartObjects(ChartName).Chart

        Dim Series As Integer
        Series = 4

        With .SeriesCollection(Series)

            Dim currentPoint As Integer

            For currentPoint = 1 To .Points.Count

                .Points(currentPoint).DataLabel.Text = Range("C" & currentPoint).Text

            Next currentPoint
        End With

    End With

End Sub

関連情報