Excel 在vba图表中设置答案选项和答案
我正在使用vba创建图表。为此,我使用以下代码:Excel 在vba图表中设置答案选项和答案,excel,charts,vba,Excel,Charts,Vba,我正在使用vba创建图表。为此,我使用以下代码: Function CreateChart(start, finish, chartPos) As Integer Dim objChart As ChartObject Dim myChtRange As Range Dim myDataRange As Range Dim seri As Series With Application.ActiveWorkbook.Sheets("Charts") ' What
Function CreateChart(start, finish, chartPos) As Integer
Dim objChart As ChartObject
Dim myChtRange As Range
Dim myDataRange As Range
Dim seri As Series
With Application.ActiveWorkbook.Sheets("Charts")
' What range should chart cover
'Set myChtRange = Application.InputBox( _
prompt:="Select a range where the chart should appear.", _
Title:="Select Chart Position", Type:=8)
' What range contains data for chart
Set myChtRange = Application.ActiveWorkbook.Sheets("Charts").Range("A" & chartPos & ":F" & chartPos + 19)
'Set myDataRange = Application.InputBox( _
prompt:="Select a range containing the chart data.", _
Title:="Select Chart Data", Type:=8)
Set myDataRange = Application.ActiveWorkbook.Sheets("Consolidation").Range("A" & start - 1 & ":B" & finish - 1)
' Cover chart range with chart
Set objChart = .ChartObjects.Add( _
Left:=myChtRange.Left, Top:=myChtRange.Top, _
Width:=myChtRange.Width, Height:=myChtRange.Height)
' Put all the right stuff in the chart
With objChart.Chart
.ChartArea.AutoScaleFont = False
.ChartType = xlColumnClustered
.SetSourceData myDataRange
.HasTitle = True
.ChartTitle.Characters.text = Application.ActiveWorkbook.Sheets("Consolidation").Range("B" & start - 1).Value
.ChartTitle.Font.Bold = True
.ChartTitle.Font.Size = 18
End With
If Not cType = "Round" Then
objChart.Chart.Legend.Delete
End If
If cType = "Points" Then
objChart.Chart.ApplyDataLabels xlDataLabelsShowLabel
End If
Set seri = objChart.Chart.SeriesCollection(1)
If Not cType = "Points" Then
seri.HasDataLabels = True
End If
End With
CreateChart = chartPos + 25
End Function
“start”和“finish”是表开始和结束的行,在大多数情况下,它们总是有两列(A,值和B,多少次)。例如,该表给出了以下图表:
但是,如果可能的值是一个数字,则会使其出错,如本例所示:
它将可能的答案作为结果。如果找到方法将其更改为行为正确,请单击右按钮并选择ChartType,但不使用vba,我想使用vba进行更正。有什么办法吗?您能把它改成字符串“1”、“2”等吗? 我不知道这会如何影响你的图表,因为我不经常使用它们 .NumberFormat=“@”