Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 从Excel图表中提取数据标签_Vba_Excel_Charts - Fatal编程技术网

Vba 从Excel图表中提取数据标签

Vba 从Excel图表中提取数据标签,vba,excel,charts,Vba,Excel,Charts,专家们 我试图从自动生成的excel图表中提取数据标签。我有相当多的VBA经验,但不幸的是很少使用图表。根据我对研究主题的理解,有一种方法可以遍历图表上的所有项目,找到那些有数据标签的项目 输入: -图表表,例如“步骤0.2” -直线散点图 输出: -从图表到单独工作表的数据标签 -位置,前“主” 尝试: Option Explicit 'Loop through chart to find data labels Sub FindDataLabels() 'Define works

专家们

我试图从自动生成的excel图表中提取数据标签。我有相当多的VBA经验,但不幸的是很少使用图表。根据我对研究主题的理解,有一种方法可以遍历图表上的所有项目,找到那些有数据标签的项目

输入: -图表表,例如“步骤0.2” -直线散点图

输出: -从图表到单独工作表的数据标签 -位置,前“主”

尝试:

Option Explicit

'Loop through chart to find data labels
Sub FindDataLabels()

    'Define worksheet and chart
    Dim mainPage As Worksheet
    Dim TestChart As chart

    Set mainPage = ActiveWorkbook.Sheets("Main")
    Set TestChart = Charts("Step 0.2")

    'Extract data points from chart for analysis
    Dim line1 As SeriesCollection
    Set line1 = TestChart.SeriesCollection

    Dim dataPoints As Double
    dataPoints = line1.Count
Debug.Print "datapoints: "; dataPoints

    Dim LabelsArray(2) As Integer
    Dim i As Integer

    For i = 1 To dataPoints
        If line1(i).HasDataLabels Then

                Debug.Print "data label: "; line1(i).DataLabels.Text

        End If
    Next i

End Sub

以下是从Excel图表中提取数据标签值的代码

将值打印到即时窗口

Dim datapoint As Point

For Each datapoint In ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points

    'Extract data labels
    If datapoint.HasDataLabel Then Debug.Print datapoint.DataLabel.Text

Next

以下是从Excel图表中提取数据标签值的代码

将值打印到即时窗口

Dim datapoint As Point

For Each datapoint In ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points

    'Extract data labels
    If datapoint.HasDataLabel Then Debug.Print datapoint.DataLabel.Text

Next

工作得很好!非常感谢。工作做得很好!非常感谢你。