zoukankan      html  css  js  c++  java
  • VBA的使用(2)

    1. 图表操作

    Sub InsertGraph()
    Dim myChtObj As ChartObject
    Dim rngChtData As Range
    Dim rngChtXVal As Range
    Dim iColumn As Long
    Dim mySrs As Series
     
     ' make sure a range is selected
     If TypeName(Selection) <> "Range" Then Exit Sub
     
     ' define chart data
     Set rngChtData = Sheets("Graph").Range("d5:bc25")
     
     ' define chart's X values
     With rngChtData
       Set rngChtXVal = .Columns(1).Offset(1).Resize(.Rows.Count - 1)
     End With
     
      ' add the chart
      Set myChtObj = ActiveSheet.ChartObjects.Add _
      (Left:=250, Width:=800, Top:=75, Height:=350)
      With myChtObj.Chart
        .Legend.Delete                                           'delete legend
        .Axes(xlValue).MinimumScale = 0                          'set min time value
        .Axes(xlValue).MaximumScale = 1                          'set max time value
        .Axes(xlValue).MajorUnit = 0.0416666666                  'set time increments to 1 hr
        .Axes(xlValue).TickLabels.Orientation = 55               'set time label angle
        .Axes(xlCategory).CategoryType = xlCategoryScale         'set date labels to text
        .Axes(xlCategory).ReversePlotOrder = True                'set order to reverse order
        .ChartType = xlBarStacked                                ' make an XY chart
        .HasTitle = True                                         'add chart title
        .ChartTitle.Characters.Text = Sheets(1).Range("a1") & Chr(10) & "DUTY TIME RECORD FOR WEEK ENDING" _
          & " " & Format(Sheets(20).Range("D24"), "mm/dd/yyyy") & Chr(10) & Chr(10) & Sheets(20).Range("b3") _
          & Chr(10) & "EMP ID - " & Sheets(20).Range("b2")       'set chart title
        .ChartGroups(1).GapWidth = 0
        Do Until .SeriesCollection.Count = 0                     ' remove extra series
          .SeriesCollection(1).Delete
        Loop
     
        ' add series from selected range, column by column
        For iColumn = 2 To rngChtData.Columns.Count
          With .SeriesCollection.NewSeries
            .Values = rngChtXVal.Offset(, iColumn - 1)
            .XValues = "=GRAPH!$D$6:$D$25"                       'set verticle labels
          End With
        Next
     
      'set all bar colors to blue
      For i = 1 To .SeriesCollection.Count
        With .SeriesCollection(i)
          .Interior.Color = RGB(114, 137, 234)
        End With
         i = i + 1
        Next
    
      'set flight time bar colors to yellow
      For m = 1 To .SeriesCollection.Count
        For x = 2 To .SeriesCollection(m).Points.Count
          With .SeriesCollection(m).Points(x)
            .Interior.Color = RGB(248, 240, 86)
          End With
          x = x + 2
       Next
      Next
    
        'set even numbered series to transparent
      For n = 2 To .SeriesCollection.Count
        With .SeriesCollection(n)
          .Interior.ColorIndex = xlNone
        End With
       n = n + 1
      Next
     End With
    End Sub
  • 相关阅读:
    如何开启无线网卡
    E-SATA接口
    sata express接口
    联想服务器驱动
    国家信息安全漏洞共享平台
    SQL SERVER 性能调优
    计算机网络知识库
    CCNP 视频
    ORACLE 培训 -相克军
    phxsql
  • 原文地址:https://www.cnblogs.com/xpvincent/p/2991359.html
Copyright © 2011-2022 走看看