図のexcelグラフのデータラベルの項目名を取得したいですが、項目名のみを抽出する方法がなさそうなので、データラベル全体を取得するため、下記のコードで試みましたが、全て空白が返ってきます。
ActiveChart.SeriesCollection(1).DataLabels(1).Format.TextFrame2.TextRange.Characters.Text
もちろん、取得したいグラフをアクティブ(クリック)してから実施しています。
問題はどこでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
データーラベルの3要素の内1つめ
VBA
1Sub DataLabel_1() 2 Dim n As Integer 3 Dim c As Object, a As Object, pt As Object 4 Dim dt As Variant 5 Dim DL As String 6 For Each c In ActiveChart.FullSeriesCollection 7 With c 8 Select Case .ChartType 9 Case xlPie '円 10 n = 1 11 For Each pt In .Points 12 If pt.HasDataLabel = True Then 13 With pt.DataLabel 14 If .ShowCategoryName And .ShowPercentage And .ShowValue Then 15 DL = .Text 16 dt = Split(.Text, ",") 17 Debug.Print n; " 値<"; .Text; "> "; dt(0) 18 End If 19 End With 20 n = n + 1 21 End If 22 Next 23 Case Else 24 25 End Select 26 End With 27 Next 28End Sub
すべてのラベル取得
VBA
1Sub subete() 2 3Dim a As String 4Dim b As Variant 5Dim c As Object 6Dim n As Integer 7 8For Each c In ActiveChart.FullSeriesCollection 9 With c 10 Select Case .ChartType 11 Case xlPie '円 12 a = Replace(Replace(.Formula, "=SERIES(", ""), ")", "") 13 b = Split(a, ",") 14 For n = 1 To Range(b(1)).Cells.Count 15 Debug.Print n; ">", Range(b(1)).Cells(n).Value 16 Next 17 End Select 18 End With 19Next 20 21End Sub 22
投稿2021/01/30 10:45
編集2021/02/01 12:48総合スコア392
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/31 09:24
2021/01/31 10:29
2021/01/31 10:41
2021/01/31 13:42 編集
2021/01/31 14:38 編集
2021/02/01 02:30
2021/02/01 12:48
0
ActiveChart.SeriesCollection(1).DataLabels(1).Text
で取得できます。
参考:DataLabel オブジェクト (Excel) | Microsoft Docs
投稿2021/01/30 01:33
総合スコア364
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。