返回列表 上一主題 發帖

[發問] K 線股票圖如何能與主力、散戶、及成交量線共存?

回復 40# ya0325
Check E-Mail.

TOP

回復 1# c_c_lai


    請教一下
   我把其中語法改成  with Sheets("工作表1").ChartObjects("圖表 1").Chart
但還是要選擇圖表才可以跑
能讓巨集自動背後RUN嗎 不需要去選取圖表


股票圖表2.rar (23.18 KB)

TOP

回復  c_c_lai


    請教一下
   我把其中語法改成  with Sheets("工作表1").ChartObjects("圖表 1") ...
seemee 發表於 2013-8-20 17:47

如果改成  with Sheets("工作表1").ChartObjects("圖表 1") .Chart,請將 chartname 移動位置,並加以修改 ActiveChart.Name -> .Name.
否則執行會有錯誤訊息。
  1.         text = "股票圖 K 線、主力、散戶、與成交量"
  2.         
  3.         .SetElement (msoElementChartTitleCenteredOverlay)
  4.         .ChartTitle.text = text
  5.         .ChartTitle.Format.TextFrame2.TextRange.Font.Size = 14
  6.         .Legend.Position = xlCorner                         ' 將圖表圖示從圖表最下方調整到圖表之右上角位置
  7.         chartname = Trim(Replace(.Name, .Name, ""))
  8.     End With
  9.    
  10.     ActiveSheet.Shapes(chartname).Left = Cells(xRow, yCol).Left     ' 設定此圖表實際擺放的 X、Y 座標位置。
  11.     ActiveSheet.Shapes(chartname).Top = Cells(xRow, yCol).Top
  12.    
  13.     Range("A1").Select
  14. End Sub
複製代碼
你提及的問題是可以做到的,但須另外加上一些程式碼去動態地處理與管理匯入之資料錄。

TOP

回復 43# c_c_lai


    不瞞你說  很多語法都剪剪貼貼的 很多語法 看不太懂
   我照你說的把chartname 改位置了..
但是圖表位置 不會動A
於是我改了最後兩行  還是不會動  麻煩幫我看一下
  1.         chartname = Trim(Replace(.Name, .Name, ""))
  2.     End With
  3.    
  4.    
  5.     Sheets("工作表1").Shapes(chartname).Left = Cells(xRow, yCol).Left     ' 設定此圖表實際擺放的 X、Y 座標位置。
  6.     Sheets("工作表1").Shapes(chartname).Top = Cells(xRow, yCol).Top
  7.    
  8.     Range("A1").Select
  9. End Sub
複製代碼

TOP

回復 43# c_c_lai

動了動了
Sheets("工作表1").ChartObjects("圖表 1").Left  = Cells(xRow, yCol).Left   
改成這樣就可以動了..

   謝謝前輩指教

TOP

本帖最後由 c_c_lai 於 2013-8-21 07:56 編輯

回復 45# seemee
以目前本檔案的程式碼內容來論:
  1.     ActiveSheet.ChartObjects("圖表 1").Left = Cells(xRow, yCol).Left
  2.     ActiveSheet.ChartObjects("圖表 1").Top = Cells(xRow, yCol).Top
複製代碼
ActiveSheet 的前提下,該目前作用 (Active) 之 WorkSheet 必須為 "工作表1",
如果你切換到 "工作表2" 或者是 "工作表3",再來執行 drawCharts(),則會有:
          執行階段錯誤 '5'
          程序呼叫或引數不正確
錯誤訊息。 所以此處修改成:
  1.     Sheets("工作表1").ChartObjects("圖表 1").Left = Cells(xRow, yCol).Left
  2.     Sheets("工作表1").ChartObjects("圖表 1").Top = Cells(xRow, yCol).Top
複製代碼
明確之指定執行的工作表單,則是正確的考量,恭喜你功力又增長了。

TOP

c_c_lai 大大
很棒的檔案,可以分享來研究嗎,小學生,謝謝
ggiirrllsss@yahoo.com.tw

TOP

回復 47# wufonna
Check E-Mail.

TOP

回復 46# c_c_lai


    新問題又來了.
   .Legend.Position = xlCorner                         ' 將圖表圖示從圖表最下方調整到圖表之右上角位置

   xlCorner        我找不到這個參數是從哪裡來的
  找到這個  
   xlLegendPositionBottom -4107 圖表下方
xlLegendPositionCorner 2 位於圖表框線的右上角
xlLegendPositionCustom -4161 自訂位置
xlLegendPositionLeft -4131 圖表左邊
xlLegendPositionRight -4152 圖表右邊
xlLegendPositionTop -4160 圖表上方

把 xlCorner 改成數字(-4152) 之類的位置就可以改變  但xlCorner是從哪裡得知的

再多問一個問題
我看你的 數據是二十秒截取一次 應該是用DDE吧?
請問你一次截取多少格的數據  會不會有延遲的問題?
我用凱基大三元 截取 24X300 個數據  好像不是很順 有什麼好建議呢?

TOP

謝謝 c_c_lai  大大 ^_^

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題