返回列表 上一主題 發帖

[發問] 日線K轉週線K(已解決)

回復 1# jiuhtsair

   這個不知道是不是你需要的結果~

   分兩個按鈕~ 一個是匯出歷史資料   一個是每日資料更新
   有一個缺點是~  必續要每個星期一要將資料匯出~ 你可以再自行修改

    日線轉成週線_測試版.rar (12.22 KB)
   
學習才能提升自己

TOP

回復 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
複製代碼
學習才能提升自己

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題