【问题标题】:VBA Excel Graphing Add time to X-AxisVBA Excel 绘图将时间添加到 X 轴
【发布时间】:2014-12-18 17:14:31
【问题描述】:

我正在绘制一天的泵趋势图,我每小步舞都会得到一个样本数据

我得到了所有的图表,但我遇到的问题是试图在 X 轴上获取时间。有一列显示每个样本数据的采集时间,但是当我尝试添加它时,它会将时间用于图表中的每个点。因为我在图表中有 1440 个点,它只是一团不可读的文本,我删除了该代码,现在我没有了。但我想弄清楚。

    'Chart for Monday
    With wBM.ActiveSheet.ChartObjects.Add(Left:=300, Width:=300, Top:=10, Height:=300)
    .Chart.SetSourceData Source:=wBM.ActiveSheet.Range("B1:B1440"), PlotBy:=xlColumns
    .Chart.ChartType = xlLine
    .Left = rngChart2.Left
    .Top = rngChart2.Top
    .Width = rngChart2.Width
    .Height = rngChart2.Height
    .Chart.HasTitle = True
    .Chart.ChartTitle.Text = "Monday " & Monday
    .Chart.HasLegend = False
    End With

到目前为止,这是我的代码。在 D 列中,每个点都有时间,因此它将是“D1:D1440”。 有没有办法每 60 个点或 120 个点只有一个标签?所以我没有这么多标签?

【问题讨论】:

    标签: vba excel datetime


    【解决方案1】:

    从如下所示的示例数据开始:

    我运行这个宏来隐藏所有“位置”不是 5 倍数的标签

    Sub formateDataLabels()
        Dim chrt As Chart
        Set chrt = ActiveChart
    
        Dim cnt As Long: cnt = 1
    
        For Each lbl In chrt.SeriesCollection(1).DataLabels
            If cnt Mod 5 <> 0 Then
                lbl.Text = ""
            End If
    
            cnt = cnt + 1
        Next lbl
    End Sub
    

    结果:


    请注意,当前代码只是设置为在所选图表上运行。将 5 更改为您需要的任何值,例如 50 或 100,并适应您当前的图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 2019-03-05
      • 2020-09-18
      • 1970-01-01
      相关资源
      最近更新 更多