带有字符串的Excel中的图表编号

Kyl*_*eUp 13 excel excel-charts

我有一些数据,我将其放入图表和格式.有一些业务规则,其中一些数据是"受保护的",如示例中所示.使用"受保护"(或任何其他单词)excel这一单词绘制图形时出现的问题是指向X轴底部的图形.我希望图表看起来像第二张图表,但我想避免绘制一个隐藏的列,因为我认为这会让我的高级用户感到困惑.

图表示例

任何想法或见解都表示赞赏!

Old*_*gly 6

手动构建图表时:

  1. 选择数据点
  2. 在格式功能区上,选择格式选择
  3. 在"格式数据点"上,选择"线",然后选择"无线".
  4. 选择下一个数据点(对应于2013).
  5. 在"格式数据点"上,选择"线",然后选择"无线".

这是我的结果......

在此输入图像描述

一小部分将生成图表的VBA ......

Sub MakeChart()
Dim cell As Range, mySerRng As Range, mySrcRng As Range
Dim mySht As Worksheet, myChrt As Chart
Dim lastRow As Long

Set mySht = Worksheets("Sheet1")
lastRow = mySht.Range("A" & mySht.Rows.Count).End(xlUp).Row

Set mySerRng = mySht.Range(mySht.Cells(1, 2), mySht.Cells(lastRow, 2))
Set mySrcRng = mySht.Range(mySht.Cells(1, 1), mySht.Cells(lastRow, 2))

Set myChrt = mySht.Shapes.AddChart2(-1, xlLine, mySht.Range("C1").Left, mySht.Range("C1").Top).Chart
With myChrt
    .SeriesCollection.Add Source:=mySrcRng, RowCol:=xlColumns, serieslabels:=True, categorylabels:=True, Replace:=True
    For Each cell In mySerRng
        If cell.Value = "Protected" Then
            .SeriesCollection(1).Points(cell.Row - 1).Format.Line.Visible = False
            .SeriesCollection(1).Points(cell.Row).Format.Line.Visible = False
        End If
    Next cell

End With
End Sub
Run Code Online (Sandbox Code Playgroud)

替代方法

构建一个包含多个系列的散点图,由"违规"行分隔,并进行格式化,使它们看起来像是一个系列...

在此输入图像描述

在此输入图像描述

这有缺点:

  • 最终用户可能更容易混淆
  • 如果您有大量数据并且"受保护"分散在整个系列中,则需要大量系列