将页脚文本框形状添加到图表中,以便使用VBA将其与图表粘贴在一起



VBA中有些东西太难了。我希望我能在工作中使用Python!

我想添加一个文本框,它可以作为页脚,以便在粘贴特殊图像时与图表保持一致。

我可以用正确的内容在正确的工作表上创建文本框。

如何获取图表中的文本框,如标题和图例

Sub AddChartFooter()
'Chart Names
'WDLbyType
'Top5byLDU
'DurationbyLDU
Dim ws As Worksheet, s As Shape
Set ws = ThisWorkbook.Worksheets("Charts")
' Create label (height/width will be set by AutoSize).
Set s = ws.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 100, 100)
s.TextFrame.Characters.Text = "Visualisations created by James Holiday-Scott"
' Resize text box to fit text.
s.TextFrame.AutoSize = True
End Sub

谢谢!

将图表和文本框分组。

类似的东西

ws.Shapes.Range(Array(ws.ChartObjects(1).Name, s.Name)).Group

图表对象有自己的形状集合。所以你可以在那里添加那个文本框。那么这些形状就包含在图表中了。

主要问题在于定位。以下示例将文本框添加到图表区域的左下角。

Sub AddChartFooter()
'Chart Names
'WDLbyType
'Top5byLDU
'DurationbyLDU
Dim cht As Chart, chtShp As Shape, s As Shape
' Get a chart shape
Set chtShp = ThisWorkbook.Worksheets("Charts").Shapes("WDLbyType")
If chtShp.HasChart Then
' Get the chart
Set cht = chtShp.Chart
' Create label (height/width will be set by AutoSize).
Set s = cht.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, cht.ChartArea.Height, cht.ChartArea.Width, 0)
s.TextFrame.Characters.Text = "Visualisations created by James Holiday-Scott"
' Resize text box to fit text.
s.TextFrame.AutoSize = True
End If
End Sub

最新更新