Board logo

標題: [發問] 日線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出來~ 你自己再重建一下~ 應該就了解了~
  1. Private Sub CommandButton1_Click() '每日資料更新

  2. If Sheet1.Range("F2") = "" Then  '該週第一天開盤點 若開盤點已經有資料,就不會再帶其它日期的資料
  3.      Sheet1.Range("F2") = Sheet1.Range("C8").End(xlDown)
  4. End If
  5. '該週最高點
  6. Sheet1.Range("F3") = Application.Max(Sheet1.Range("D9"), Sheet1.Range("D10"), Sheet1.Range("D11"), Sheet1.Range("D12"), Sheet1.Range("D13"))
  7. '該週最低點
  8. Sheet1.Range("F4") = Application.Min(Sheet1.Range("E9"), Sheet1.Range("E10"), Sheet1.Range("E11"), Sheet1.Range("E12"), Sheet1.Range("E13"))
  9. '該週每日收盤價
  10. Sheet1.Range("F5") = Sheet1.Range("F65536").End(xlUp)

  11. End Sub
複製代碼
  1. Private Sub CommandButton2_Click()  '匯出資料
  2. A = VBA.Weekday(Date, vbMonday)

  3. If A = 1 And IsError(Application.VLookup(Sheet1.Range("B9"), Sheet1.Range("J9:J65536"), 1, False)) Then
  4.    For I = 9 To 13  '將上週資料匯到歷史股價區
  5.        '若該日是未開市,請不要填寫資料,會自行判斷將該天資料剔除
  6.        If Sheet1.Range("C" & I) = "" Or Sheet1.Range("D" & I) = "" Or Sheet1.Range("E" & I) = "" Or Sheet1.Range("F" & I) = "" Then
  7.        Else
  8.        Sheet1.Range("J65536").End(xlUp).Offset(1, 0) = Sheet1.Range("B" & I)
  9.        Sheet1.Range("K65536").End(xlUp).Offset(1, 0) = Sheet1.Range("C" & I)
  10.        Sheet1.Range("L65536").End(xlUp).Offset(1, 0) = Sheet1.Range("D" & I)
  11.        Sheet1.Range("M65536").End(xlUp).Offset(1, 0) = Sheet1.Range("E" & I)
  12.        Sheet1.Range("N65536").End(xlUp).Offset(1, 0) = Sheet1.Range("F" & I)
  13.        Sheet1.Range("O65536").End(xlUp).Offset(1, 0) = Sheet1.Range("G" & I)
  14.        Sheet1.Range("P65536").End(xlUp).Offset(1, 0) = Sheet1.Range("H" & I)
  15.        End If
  16.    Next
  17.    Sheet1.Range("F2:F5").ClearContents  '清除開盤價/最高點/最低點/收盤價
  18.    Sheet1.Range("B9:H13").ClearContents '清除上一週的股價資料
  19.    For I = 0 To 4     '設定本週一~五的日期
  20.         Sheet1.Range("B65536").End(xlUp).Offset(1, 0) = VBA.Date + I
  21.    Next
  22. Else
  23.      MsgBox "該週資料已經匯出"
  24. End If
  25. End Sub
複製代碼

作者: fancky    時間: 2012-2-16 16:51

恩恩,這樣我應該看懂了,因為剛加入沒辦法下載附件,所以我才會這樣問




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)