Excel 如何参考嵌入式图表?

Excel 如何参考嵌入式图表?,excel,vba,Excel,Vba,我正在尝试将单元格A1和B1中的文本指定给的图表标题 图表1 图表2 及 图表3 图表4 我试图在工作簿中循环查找位于随机表中的特定嵌入式图表 我越来越 “找不到成员或数据成员” 使用此工作簿。工作表。形状(chtname)。图表 Sub ChartTitle() Dim chartNames As Variant For Each chtname In Array("CHART1", "CHART2") Wit

我正在尝试将单元格A1和B1中的文本指定给的图表标题

图表1
图表2

图表3
图表4

我试图在工作簿中循环查找位于随机表中的特定嵌入式图表

我越来越

“找不到成员或数据成员”

使用此工作簿。工作表。形状(chtname)。图表

Sub ChartTitle()

    Dim chartNames As Variant
    
    For Each chtname In Array("CHART1", "CHART2")
        With ThisWorkbook.Worksheets.Shapes(chtname).Chart
            .HasTitle = True
            .ChartTitle.Text = ThisWorkbook.Worksheets.Range("A1")
        End With
    Next

    For Each chtname In Array("CHART3", "CHART4")
        With ThisWorkbook.Worksheets.Shapes(chtname).Chart
            .HasTitle = True
            .ChartTitle.Text = ThisWorkbook.Worksheets.Range("B1")
        End With
    Next

End Sub

由于您没有回答我的问题,请尝试下一个代码。基于“位于随机表中”,代码假设讨论中的图表是嵌入式图表。由于代码
ThisWorkbook.Worksheets.Range(“B1”)
在VBA中没有任何意义,因此代码从其所在的工作表中分配值:

Sub ModifyChartTitle()
    Dim sh As Worksheet, chObj As ChartObject

    For Each sh In ThisWorkbook.Sheets
        For Each chObj In sh.ChartObjects
            If chObj.Chart.HasTitle Then
                Select Case chObj.Name
                     Case "CHART1", "CHART2"
                        chObj.Chart.ChartTitle.Text = sh.Range("A1").Value
                     Case "CHART3", "CHART4"
                        chObj.Chart.ChartTitle.Text = sh.Range("B1").Value
                End Select
            End If
        Next
    Next
End Sub

如果未嵌入图表,或图表标题必须从特定工作表中收集,请最好指定要执行的操作…

图表不是嵌入的吗?您是否搜索图表表?
此工作簿。工作表。范围(“B1”)
没有任何意义。。。您想使用特定的工作表还是在迭代过程中找到的工作表?您好,FaneDuru,很抱歉没有网络。完全嵌入图表!完美的修改。谢谢:)@Kaizan:很高兴我能帮上忙!我正在准备处理图表的第二段代码。。。