返回列表 上一主題 發帖

請各位大大幫忙修改建立崁入圖表錯誤語法

c_c_lai   大大回讀你的帖了看了GBKEE前輩的回覆其中下列的程式
03.    With ActiveSheet.ChartObjects(oShape.Name).Chart
改以用下列
With WORKSHEETS(WR).ChartObjects(1).Chart
就可以執行程式原來是物件的語法錯誤
08.    End With
感謝 兩位大哥的協助

TOP

c_c_lai   大大謝謝幫忙 這程式對我來說還太難了.我只想用直線圖,在每一工作表最後儲存格Worksheets(wr).Range("A" & chart_sr & " :I" & chart_end)的範圍加入圖表,資料來源為同表格的
Worksheets(wr).   RANRE ("A" & z_sr & " :C" & xlRow),因為有10個工作表都要加入且每一個工作表最後空儲存格不一定所以列數用變數方式,工作表Worksheets(wr).   wr也是變數.因為我想用迴圈方式讓所有工作表一次完成,
ps  RANRE -> .RANGE 感謝提醒,確實粗心了

TOP

回復 1# lamihsuen
貼上 GBKEE 指導前輩曾經給我的範例,堤供妳參考,希望對妳會有實質的幫助。
又、妳打錯字了 .RANRE -> .RANGE。 (算粗心吧!:o )
  1. Private Sub 製圖()
  2.     Dim xR As Range, Xi As Integer, i As Integer, 圖色()

  3.     圖色 = Array(4, 6, 8, 10)

  4.     ActiveSheet.ChartObjects.Delete     '刪除全部圖表

  5.     Set xR = Range("F1")    '利用xR的位置 設下圖表的位置
  6.     '加入新圖表  須指定 1右邊位置, 2高度位置, 3圖表的Width, 4圖表的Height

  7.     With ChartObjects.Add(xR.Left, xR.Top, xR.Resize(, 10).Width, xR.Resize(10).Height).Chart
  8.     .ChartType = 51  ' xlLineMarkers    '折線圖         '圖表 式樣
  9.         With ActiveSheet.Range("A2").CurrentRegion
  10.             Set xR = Union(.Columns(1), .Columns(3), .Columns(5))
  11.             '資料 範圍的 1,3,5 欄為圖表資料  :第1欄 為x軸的數值
  12.         End With
  13.         .SetSourceData Source:=xR, PlotBy:=xlColumns
  14.         '圖表資料來源 : xR  資料式樣: 欄
  15.                      
  16.         .HasTitle = True              '顯示 圖表標題
  17.         .ChartTitle.Characters.Text = ActiveSheet.Name    'HasTitle = False 會有錯誤
  18.         .HasAxis(xlCategory, xlPrimary) = False           '不顯示 X軸座標
  19.                
  20.         'HasLegend 圖例
  21.         .HasLegend = False             ' 取消 顯示 圖例
  22.         '  .Legend.Position = xlTop           '顯示 圖例位置
  23.         ' .Axes(xlCategory).TickLabels.NumberFormatLocal = "m/d;@"    ' Axes(xlCategory) X座標軸
  24.         ' ** 上二式 須  顯示圖例 ->  .HasLegend = True
  25.                
  26.         '.SeriesCollection(1).AxisGroup = 2           '新增 Y座標軸 副座標軸
  27.         '  .SeriesCollection(3)).Delete     '刪除第3數列資料
  28.         With .Axes(xlValue)      'y軸格線
  29.             .HasMajorGridlines = 0   '取消 主格線
  30.             .HasMinorGridlines = 0   '取消 副格線
  31.         End With
  32.         '以下一些程式碼 你可用錄製得知
  33.         With .ChartArea             '圖表的圖表區
  34.             .Border.Weight = 1
  35.             .Border.LineStyle = -1
  36.             .Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=3, Degree:=0.231372549019608
  37.             .Fill.Visible = True
  38.             .Fill.ForeColor.SchemeColor = 圖色(0)
  39.         End With
  40.         With .PlotArea              '圖表的 繪圖區
  41.             .Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=1, _
  42.             Degree:=0.231372549019608
  43.             .Fill.Visible = True
  44.             .Fill.ForeColor.SchemeColor = 圖色(0)
  45.             With .Border
  46.             .ColorIndex = 16
  47.             .Weight = xlThin
  48.             .LineStyle = xlContinuous
  49.             End With
  50.         End With
  51.         For i = 1 To .SeriesCollection.Count
  52.             With .SeriesCollection(i)   '數列
  53.                 '  .XValues = ""       '<-為x軸的數值   可在此取消
  54.                 With .Border
  55.                 .ColorIndex = 圖色(i)
  56.                 .Weight = xlMedium
  57.                 .LineStyle = xlContinuous
  58.                 End With
  59.                 '以下屬性 只適合 折線圖
  60.                 ' .MarkerBackgroundColorIndex = xlAutomatic
  61.                 '.MarkerForegroundColorIndex = xlAutomatic
  62.                 '.MarkerStyle = xlNone
  63.                 '.Smooth = False
  64.                 '.MarkerSize = 7
  65.                 '.Shadow = False
  66.             End With
  67.         Next
  68.     End With
  69. End Sub
複製代碼

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題