excel - 如何在excel VBA中创建一个varios图表
问题描述
我编写了一个代码来通过 vba excel 创建一个图表。但是我无法编写可以在同一个工作表中生成多个图形的代码,也就是说,我有 4 列,我想创建 4 个图形。
有人可以帮我完成这项任务吗?
这是我的代码:
Sub create_BarChart()
Dim myWorksheet As Worksheet
Dim mySourceData As Range
Dim myChart As Chart
Dim myShape As Shape
Dim myChartDestination As Range
Set myWorksheet = ThisWorkbook.Worksheets("corelacao")
Set myChartDestination = myWorksheet.Range("D36:H45")
Set myShape = myWorksheet.Shapes.AddChart(Excel.XlChartType.xl3DBarClustered)
Set myChart = myShape.Chart
With myChart
.SetSourceData Source:=myWorksheet.Range("B1:C32")
.ChartTitle.Text = "Analise de correlações"
.Legend.Left = 250 'posição vertical
.Legend.Width = 300 '100
.Parent.Height = 200
.Parent.Width = 269
.Parent.Left = 95
End With
With myShape
.Height = 325 ' resize
.Top = 300 ' reposition
.Left = 100 ' reposition
.Fill.ForeColor.RGB = RGB(230, 225, 220)
.Fill.Solid
End With
End Sub
解决方案
我将在数组变量中指定图表的输入范围,并通过数组查看以生成图表:
Dim arr(2) As String
Dim mySourceData As Range
Dim myChart As Chart
Dim myShape As Shape
Dim myChartDestination As Range
Dim myWorksheet As Worksheet
Set myWorksheet = ActiveSheet
'Data area for each chart
arr(1) = "B1:C32"
arr(2) = "B1:B31,D1:D31"
For a = 1 To 2
Set myChartDestination = myWorksheet.Range("D36:H45")
Set myShape = myWorksheet.Shapes.AddChart(Excel.XlChartType.xl3DBarClustered)
Set myChart = myShape.Chart
With myChart
.SetSourceData Source:=myWorksheet.Range(arr(a))
.ChartTitle.Text = "Analise de correlações"
.Legend.Left = 250
.Legend.Width = 300
.Parent.Height = 200
.Parent.Width = 269
.Parent.Left = 95
End With
With myShape
.Height = 325
.Top = 300
.Left = 100 + ((a - 1) * 250)
.Fill.ForeColor.RGB = RGB(230, 225, 220)
.Fill.Solid
End With
Next
推荐阅读
- c# - 如何使用参数启动 xamarin 表单应用程序
- branch - 尝试使用共享表实现 Branch.io 深度链接时,不执行任何操作
- java - 如何在 android studio 中使用 api v2 dropbox 上传文件?
- php - 当datalist有很多页面时,我如何让数据数组保持在复选框中
- javascript - JS setCustomValidity 第一次不起作用
- azure - 将所有到虚拟机的流量路由到 Azure 上的容器实例
- python - Python 函数导入层次结构
- ios - Swift:在屏幕周围截断(环绕)并转到新行时将长字符串拆分为较小的字符串
- angular - 如何在 IIS 中托管的 Angular cli 项目中配置 gzip
- angular - CDK 叠加样式导入