如何使用VBA Excel在图表中添加2个标签

时间:2018-11-14 05:00:06

标签: excel vba

我已经使用vba excel创建了一个图表,然后不小心填充了一个显示用户和我喜欢的计数的图表。但是由于测试,我愚蠢的我忘了保存。现在,我无法了解如何重新设置它的逻辑。请帮助,谢谢

样本数据

Operator  Counts    Team
OPSHAF     123      A
OPSAJC     1245     B
OPSZAL     23       A
OPSJGY     162      C
OPSOSM     54       D

enter image description here

Sub CreateChart()

Dim rEmailRng As Range
Dim oEmailCht As Object
Dim cEmailCht As Chart

Dim coEmailCht As ChartObject
Dim iEmailRow As Integer
Dim sEmailSeries As Series
Dim scEmailSerCol As SeriesCollection

On Error Resume Next

    Set wb = ThisWorkbook
    Set wbsh2 = wb.Worksheets("Email")

    Set coEmailCht = wbsh2.ChartObjects.Add(Range("E5").Left, Range("E5").Top, 500, 300)
    coEmailCht = "Email Requests Processed" '& year

    Set cEmailCht = coEmailCht.Chart

    With cEmailCht
        .HasLegend = False
        .HasTitle = True
        .Axes(xlValue).MinimumScale = 50
        .Axes(xlValue).MaximumScale = 1500
        .ChartTitle.Text = "Email Processed by Operator"

        Set scEmailSerCol = .SeriesCollection
        Set sEmailSeries = scEmailSerCol.NewSeries

        With sEmailSeries
            .Name = Range("A1").Offset(0, 1).Value
            .XValues = Range(Range("A1").Offset(1, 0), Range("A1").End(xlDown))
            .Values = Range(Range("A1").Offset(1, 1), Range("A1").Offset(1, 1).End(xlDown))
            .ChartType = xl3DColumnClustered
        End With

    End With

1 个答案:

答案 0 :(得分:0)

欢迎来到。如果您的目标是轴标签包含Count和Operator,则只需尝试

With sEmailSeries
        '
      .XValues = Range("A2:B" & Range("B2").End(xlDown).Row)

如果您还想要团队名称

.XValues = Range("A2:C" & Range("C2").End(xlDown).Row)