返回列表 上一主題 發帖

[發問] 有關excelVBA圖表的問題

回復 10# c_c_lai
好的,十分感謝你喔,我會在做修改的,讓效益更好。再次謝謝你:)))

TOP

回復 10# c_c_lai
不好意思 在向你詢問一個問題
我現在如果要畫一個xlline的圖
然後我要把日期加進去當成最底下的座標
通常就把日期欄位一起放進資料來源
可是他居然也畫出線來
這有辦法可以解決嗎
謝謝

TOP

回復  c_c_lai
不好意思 在向你詢問一個問題
我現在如果要畫一個xlline的圖
然後我要把日期加進去當成最 ...
lin_6219 發表於 2013-6-9 15:18

你是一開始便宣告的嗎? 譬如下方之例子:
.SetSourceData Worksheets("繪圖資料").Range("A2:E" & CStr(nRow))
還是在中段加入的?

TOP

回復 13# c_c_lai

我是一開始就加進去了,可是我要畫線的資料在J欄,中間的資料沒要畫線,
所以我這樣打 SetSourceData Worksheets("繪圖資料").Range("A2:A" &Cstr(nrow), "J2:J" & CStr(nRow))

圖.png (24.87 KB)

圖.png

TOP

回復 14# lin_6219
附上測試程式供參考: Range("繪圖資料!$A$2:繪圖資料!$A$" & CStr(nRow) & ", 繪圖資料!$F$2:繪圖資料!$F$" & CStr(nRow))
  1. Sub Test()
  2.     Dim nRow As Integer, ChtObj As ChartObject
  3.     Dim i As Integer, j As Integer, chartname As String
  4.     Dim myMax, myMin, GapNr As Integer
  5.    
  6.     On Error Resume Next
  7.   
  8.     With Worksheets("主畫面")
  9.         .ChartObjects.Delete
  10.         .Select
  11.         nRow = Worksheets("繪圖資料").Range("A65536").End(xlUp).Row
  12.         Set ChtObj = Worksheets("主畫面").ChartObjects.Add(1, 1, 450, 250)
  13.         
  14.         With ChtObj.Chart
  15.             .SetSourceData Source:=Range("繪圖資料!$A$2:繪圖資料!$A$" & CStr(nRow) & ", 繪圖資料!$F$2:繪圖資料!$F$" & CStr(nRow))
  16.             .ChartType = xlXYScatterLinesNoMarkers
  17.             .HasTitle = True
  18.             .ChartTitle.Characters.Text = "K線與成交量圖"
  19.             
  20.             With .SeriesCollection(1)
  21.                 .Border.ColorIndex = 7
  22.                 .Name = "=繪圖資料!$F$1"
  23.             End With
  24.             
  25.             With .Axes(xlCategory)                               '  X座標軸 (時間軸)
  26.                 .CategoryType = xlCategoryScale
  27.                 .TickLabelSpacing = 3                            '  標示間距
  28.                 .TickLabels.NumberFormatLocal = "yyyy/m/d"
  29.                 .TickLabels.Font.ColorIndex = 5                  '  Blue Color
  30.             End With
  31.         End With
  32.     End With
  33. End Sub
複製代碼

TOP

回復 15# c_c_lai
非常非常感謝你,我還有一個小小問題,就是目前坐標軸沒問題了,可是日期軸的部分,
他對應的直槓(黑線間隔),不像你的只有有日期才有出現,而是全部都出現有出現,請問有設定的屬性嗎?

TOP

回復 16# lin_6219
對應的直槓(黑線間隔),不像你的只有有日期才有出現,而是全部都出現有出現?
不太明白你指的是?  能否描述清楚些?

TOP

回復 17# c_c_lai
不好意思,這麼晚才回你,
我所指的就是圖中黃色框起來的部分,你的圖是有日期的地方,向上才有黑槓,
但我的每個間距都有,是哪邊需要做設定嗎?感謝:))

TOP

回復 18# lin_6219
這我倒是沒去留意,為什麼會不同,
我也不清楚。乾脆附上程式碼讓你核對:
  1. Sub Test()
  2.     Dim nRow As Integer, ChtObj As ChartObject
  3.     Dim i As Integer, j As Integer, chartname As String
  4.     Dim myMax, myMin, GapNr As Integer
  5.    
  6.     On Error Resume Next
  7.   
  8.     With Worksheets("主畫面")
  9.         .ChartObjects.Delete
  10.         .Select
  11.         nRow = Worksheets("繪圖資料").Range("A65536").End(xlUp).Row
  12.         Set ChtObj = Worksheets("主畫面").ChartObjects.Add(1, 1, 450, 250)
  13.         
  14.         With ChtObj.Chart
  15.             '  .SetSourceData Source:=Range("繪圖資料!$A$2:繪圖資料!$A$20, 繪圖資料!$F$2:繪圖資料!$F$20")
  16.             .SetSourceData Source:=Range("繪圖資料!$A$2:繪圖資料!$A$" & CStr(nRow) & ", 繪圖資料!$F$2:繪圖資料!$F$" & CStr(nRow))
  17.             .ChartType = xlXYScatterLinesNoMarkers
  18.             .HasTitle = True
  19.             .ChartTitle.Characters.Text = "K線與成交量圖"
  20.             
  21.             With .SeriesCollection(1)
  22.                 .Border.ColorIndex = 7
  23.                 .Name = "=繪圖資料!$F$1"
  24.             End With
  25.             
  26.             With .Axes(xlCategory)                               '  X座標軸 (時間軸)
  27.                 ' .CategoryType = xlCategoryScale
  28.                 ' .TickLabelSpacing = 1                            '  標示間距
  29.                 .TickLabels.NumberFormatLocal = "yyyy/m/d"
  30.                 .TickLabels.Font.ColorIndex = 5                  '  Blue Color
  31.                 ' .TickLabels.Orientation = xlTickLabelOrientationUpward
  32.             End With
  33.         End With
  34.     End With
  35. End Sub
複製代碼

TOP

回復 19# c_c_lai
好的,非常感謝你喔,我核對看看然後試試,謝謝你:D

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題