返回列表 上一主題 發帖

[發問] 請問該如何用VBA自動化出股票K線圖呢?

[發問] 請問該如何用VBA自動化出股票K線圖呢?

本帖最後由 j1221 於 2011-1-16 23:50 編輯

各位前輩好,小弟又來叨擾了,這次我的問題如下:

我利用VBA先抓出我要的資料後,然後再將所抓出來的資料化成K線圖

在畫圖的部份,因為小弟不知道該怎麼寫,所以我是利用錄製巨集的功能,把巨集製作出來。

但製作好之後,當我想要重新執行一次巨集的時候,跳出對話視窗「ChartType 方法(Chart物件)失敗」

可否請問是甚麼問題,該如何解決呢?

煩請參閱附件(Module 2)

test1.rar (170.94 KB)
我愛麻辣家族討論區!!

回復 13# j1221


    Sheets("data").Cells(i, 3).Value = Val(f)
因為inputbox位指定變數型態則會以字串形態默認
所以f是一個數字組合的字串
但是,你工作表的年月是通用格式,所以被認為是數値
所以判斷式數直是不可能跟字串相等
故此將f使用VAL函數轉為數值即可
學海無涯_不恥下問

TOP

回復 11# Hsieh


Hsieh大,抱歉又來打擾了....

可以使用之後,我還想再加一個「輸入和約月份」的對話框,這樣可以選擇需要挑出的月份

我是這樣寫的

    f = Application.InputBox(prompt:="請輸入合約結算月份(格式:yyyymm)")
然後在挑取資料的時候

If Sheets("data").Cells(i, 3).Value = f

可是好像excel認不出來這個 f  ,所以我無法把資料挑選出來,可否請問您為什麼嗎?

請您參考附件,感謝:D

test.rar (223.79 KB)
我愛麻辣家族討論區!!

TOP

回復 11# Hsieh


    感激大大....一切OK了!!:D
我愛麻辣家族討論區!!

TOP

回復 10# j1221
應該是SELECT的問題
  1.     With Sheets("data")
  2.                 .Cells(1, 1).EntireRow.Copy
  3.                 Sheets.Add After:=Sheets("data")
  4.                 ActiveSheet.Cells(1, 1).PasteSpecial
  5.                 ThisWorkbook.ActiveSheet.Name = c & op
  6.    End With
複製代碼
學海無涯_不恥下問

TOP

回復 9# Hsieh


Hsieh大,抱歉又有問題了.....這次問題出在我跑完d=1,進入d=2時。在

    With Sheets("data")
                Cells(1, 1).EntireRow.Select
                Selection.Copy
                Sheets.Add After:=Sheets("data")
                ActiveSheet.Cells(1, 1).PasteSpecial
                ThisWorkbook.ActiveSheet.Name = c & op
   End With

出現「Class Range的Select 方法失敗」的訊息,為什麼第一圈沒有問題,第二圈的時候就會出來選擇錯誤??感謝您
我愛麻辣家族討論區!!

TOP

回復 8# j1221


    ActiveChart.SeriesCollection(1).XValues = "='" & c & op & "'!R2C1:R22C1"
學海無涯_不恥下問

TOP

回復 7# Hsieh

Hsieh大抱歉,請問在繪製圖表裡面的部份該怎麼改?比如說這個?

ActiveChart.SeriesCollection(1).XValues = "='c & op'!R2C1:R22C1"
我愛麻辣家族討論區!!

TOP

回復 6# j1221


    Sheets(c & op).Cells(i, 1).PasteSpecial
學海無涯_不恥下問

TOP

回復 5# Hsieh


Hsieh大感恩,又學到一樣東西。可否再請教您如何指定工作表的問題。我先定義了兩個變數c 和 op,c 為數字,op為文字
。然後我利用 ThisWorkbook.ActiveSheet.Name = c & op 命名目前的工作表。但知後我想要再指定這個工作表時該如何指定?

我是用 Sheets("c & op").Cells(i, 1)....
   
煩請您參考附件,在Module 1的列32,感謝。:D

test1.rar (170.74 KB)
我愛麻辣家族討論區!!

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題