首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >vba excel编辑/添加系列和水平轴标签

vba excel编辑/添加系列和水平轴标签
EN

Stack Overflow用户
提问于 2017-06-30 19:01:17
回答 1查看 855关注 0票数 0

我当前的代码在x轴上的每个部分放置了三个条形图。我希望有三个独立的部分,每个部分都有自己的条形图。

以下是我当前的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub DrawChart1()
 Dim i As Long
 Dim j As Long
 Dim ws As Worksheet
 Dim rCht As Range, rYVals As Range
 Dim cht As Chart

 ' finding the number of rows
 Set ws = Worksheets("sheet1")
 'j = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row


 'j = ws.Cells(9, 1).Row
 j = ws.Range(ws.Cells(1, 1), ws.Cells(1, 3)).Row
 ' start with X values (row 10 to j), include header row (row 9)
 Set rCht = ws.Range(ws.Cells(9, 1), ws.Cells(j, 1))

 Set rCht = ws.Range(ws.Cells(1, 1), ws.Cells(1, 3))

 ' add column of Y values if row 8 of column is TRUE
' For i = 2 To 14
  For i = 1 To 3
  If ws.Cells(8, 1).Value Then
  Set rYVals = ws.Range(ws.Cells(9, i), ws.Cells(9, i))
   '     Set rYVals = ws.Range(ws.Cells(9, 2), ws.Cells(9, 2))

     Set rCht = Union(rCht, rYVals)
   End If
 Next

   ' if we've had any Y values, insert chart, using range we've built up
    If Not rYVals Is Nothing Then
     Set cht = ws.Shapes.AddChart(xlColumn).Chart
    cht.SetSourceData Source:=rCht, PlotBy:=xlColumns
    End If
   End Sub
EN

回答 1

Stack Overflow用户

发布于 2017-07-01 03:42:37

我认为不可能编辑/添加系列和水平轴标签。可以编辑系列采集点标签,而不是编辑轴标签。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub DrawChart1()
 Dim i As Long
 Dim j As Long
 Dim ws As Worksheet
 Dim rCht As Range, rYVals As Range
 Dim cht As Chart
 Dim n As Integer
    Set ws = Worksheets("sheet1")

    Set cht = ws.Shapes.AddChart(xlColumn).Chart
    With cht
        For i = 1 To 3
            If ws.Cells(8, 1).Value Then
                n = n + 1
                .SeriesCollection.NewSeries
                With .SeriesCollection(n)
                    .Name = ws.Cells(1, i).Text
                    .XValues = n
                    .Values = ws.Cells(9, i)
                    With .Points(1)
                        .ApplyDataLabels
                        .DataLabel.Text = ws.Cells(1, i).Text
                    End With
                End With
            End If
        Next i
        .ChartGroups(1).Overlap = -100
    End With

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44853241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文