標題:
[發問]
日線K轉週線K(已解決)
[打印本頁]
作者:
jiuhtsair
時間:
2011-10-20 11:08
標題:
日線K轉週線K(已解決)
本帖最後由 jiuhtsair 於 2011-10-21 21:14 編輯
各位大大好:[attach]8283[/attach]
小弟想請教,要如何才能將日線K線圖轉成週線K線圖?
小弟想做的是:例如本週一的開盤是週線的開盤點,週一到週五的最高點是週線最高點,週一到週五的最低點是週線最低點,
週五的收盤是本週的週線收盤點點位。
所有資料可以每天更新(例如今天是星期四,本週一的開盤是週線的開盤點,週一到週四的最高點是週線最高點,週一到週四的最低點是週線最低點,
週四的收盤是目前的收盤點點位),同時..日期欄也能更新...
每週一開始時能從新的一欄開始...
這問題想了好機天,卻仍然沒有頭緒..
懇請各位大大幫忙...謝謝!
作者:
hugh0620
時間:
2011-10-21 11:40
回復
1#
jiuhtsair
這個不知道是不是你需要的結果~
分兩個按鈕~ 一個是匯出歷史資料 一個是每日資料更新
有一個缺點是~ 必續要每個星期一要將資料匯出~ 你可以再自行修改
[attach]8293[/attach]
[attach]8294[/attach]
作者:
jiuhtsair
時間:
2011-10-21 21:13
回復
2#
hugh0620
感謝大大提示!終於知道如何處理了!感謝再感謝!
作者:
fancky
時間:
2012-2-15 23:08
想知道是如何轉換,謝謝。
作者:
hugh0620
時間:
2012-2-16 13:05
回復
4#
fancky
將兩個按鈕的程式碼co出來~ 你自己再重建一下~ 應該就了解了~
Private Sub CommandButton1_Click() '每日資料更新
If Sheet1.Range("F2") = "" Then '該週第一天開盤點 若開盤點已經有資料,就不會再帶其它日期的資料
Sheet1.Range("F2") = Sheet1.Range("C8").End(xlDown)
End If
'該週最高點
Sheet1.Range("F3") = Application.Max(Sheet1.Range("D9"), Sheet1.Range("D10"), Sheet1.Range("D11"), Sheet1.Range("D12"), Sheet1.Range("D13"))
'該週最低點
Sheet1.Range("F4") = Application.Min(Sheet1.Range("E9"), Sheet1.Range("E10"), Sheet1.Range("E11"), Sheet1.Range("E12"), Sheet1.Range("E13"))
'該週每日收盤價
Sheet1.Range("F5") = Sheet1.Range("F65536").End(xlUp)
End Sub
複製代碼
Private Sub CommandButton2_Click() '匯出資料
A = VBA.Weekday(Date, vbMonday)
If A = 1 And IsError(Application.VLookup(Sheet1.Range("B9"), Sheet1.Range("J9:J65536"), 1, False)) Then
For I = 9 To 13 '將上週資料匯到歷史股價區
'若該日是未開市,請不要填寫資料,會自行判斷將該天資料剔除
If Sheet1.Range("C" & I) = "" Or Sheet1.Range("D" & I) = "" Or Sheet1.Range("E" & I) = "" Or Sheet1.Range("F" & I) = "" Then
Else
Sheet1.Range("J65536").End(xlUp).Offset(1, 0) = Sheet1.Range("B" & I)
Sheet1.Range("K65536").End(xlUp).Offset(1, 0) = Sheet1.Range("C" & I)
Sheet1.Range("L65536").End(xlUp).Offset(1, 0) = Sheet1.Range("D" & I)
Sheet1.Range("M65536").End(xlUp).Offset(1, 0) = Sheet1.Range("E" & I)
Sheet1.Range("N65536").End(xlUp).Offset(1, 0) = Sheet1.Range("F" & I)
Sheet1.Range("O65536").End(xlUp).Offset(1, 0) = Sheet1.Range("G" & I)
Sheet1.Range("P65536").End(xlUp).Offset(1, 0) = Sheet1.Range("H" & I)
End If
Next
Sheet1.Range("F2:F5").ClearContents '清除開盤價/最高點/最低點/收盤價
Sheet1.Range("B9:H13").ClearContents '清除上一週的股價資料
For I = 0 To 4 '設定本週一~五的日期
Sheet1.Range("B65536").End(xlUp).Offset(1, 0) = VBA.Date + I
Next
Else
MsgBox "該週資料已經匯出"
End If
End Sub
複製代碼
作者:
fancky
時間:
2012-2-16 16:51
恩恩,這樣我應該看懂了,因為剛加入沒辦法下載附件,所以我才會這樣問
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)