微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我需要减小散点图的大小以允许使用-90标签并在VBA中添加错误栏

如何解决我需要减小散点图的大小以允许使用-90标签并在VBA中添加错误栏

我创建了一个Excel 2016 VBA散点图(没有图例的单独工作表),并用VBA标记了这些点。源标签为A1:A3(事件(35个字符)/日期/ Y点),数据为A2:C17。我的标签(方向-90)覆盖了Y点并聚在一起,因为Y轴图区域占据了整个工作表。我尝试了不同的Y轴值,但绘图区域扩展为填充工作表。我还尝试使用VBA更改地块大小。我需要实际图表上方的标签

第二个问题是我无法绘制日期和时间,只能绘制日期,并且在创建带有xlMinusValues 100%和SeriesCollection(1)的错误栏时遇到问题。

为了易于使用,我一直在单独的模块中执行此操作,但是将组合或使用Call。我发现我不能用超过16条数据记录来构建图表,因此如果存在更多记录,我将在循环例程中进行工作。

时间轴模块

Option Explicit

Sub Timeline()

    Dim sCount As Long
    Dim labelrotation As Long
    Dim TimelineChart As Chart
    Dim LastCell As Long
    Dim rng As Range
    Dim rngAddr As String
    Dim ChartRange As String

    With ActiveSheet
        Range("C1").End(xlDown).Activate
        Set rng = ActiveCell
        rngAddr = rng.Address(0,0)
    End With

    Let ChartRange = "B2:" & rngAddr

    Set TimelineChart = Charts.Add
    TimelineChart.Name = "TimelineChart"
    With TimelineChart
        .SetSourceData Sheets("TimelineData").Range(ChartRange)
        .ChartType = xlXYScatter
        .Legend.LegendEntries(1).Delete
        TimelineChart.HasAxis(xlSecondary) = False
    End With

End Sub

标签模块

Option Explicit

Sub Labels()

    Dim r As Range
    Dim Events As Range
    Dim EventCounter As Integer
    Dim s As Series

    Sheets("TimelineData").Select
    Set Events = Range("A2",Range("A1").End(xlDown))
    Set s = Chart1.SeriesCollection(1)

    s.HasDataLabels = True

    For Each r In Events

        EventCounter = EventCounter + 1
        s.Points(EventCounter).DataLabel.Text = r.Value
        s.Points(EventCounter).DataLabel.Position = xlLabelPositionAbove
        s.Points(EventCounter).DataLabel.Orientation = 45
    Next r

End Sub

解决方法

我将撤回该问题。散点图在图表表上,而在与使用数据表的表相同的工作表中。结论很多,我应该使用条形图,相同的工作表进行修改。

感谢所有看过并认为是回应的人。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。