返回列表 上一主題 發帖

[發問] 迴圈問題

本帖最後由 hugh0620 於 2012-3-26 09:25 編輯

回復 7# spermbank

很抱歉唷~ 程式碼打錯一個字  將第28列b改成K 就可以了
ABuyP = b * 1000 * 0.001425 * 0.28
ABuyP = K * 1000 * 0.001425 * 0.28
  1. Sub nn()

  2. '=========================='調整C區股價規則
  3. For Each A In Range("A:A").SpecialCells(xlCellTypeConstants, xlNumbers)
  4. B = Application.Lookup(A, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5))
  5. A.Offset(, 2) = Application.Ceiling(A, B)
  6. Next
  7. '=========================='獲利1%股利計算,不包含手續費、證交稅
  8. Sheets("Sheet1").Select
  9. x = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計算
  10. For i = 2 To x
  11.     Cells(i, "G") = Cells(i, "C") * Cells(9, "O") + Cells(i, "C")
  12. Next
  13. '=========================='調整獲利股價規則
  14. For Each A In Range("G:G").SpecialCells(xlCellTypeConstants, xlNumbers)
  15. B = Application.Lookup(A, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5))
  16. A.Offset(, 0) = Application.Ceiling(A, B)
  17. Next
  18. '=========================='計算獲利1%扣除手續費與證交稅金額
  19. Sheets("Sheet1").Select
  20. x = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計算

  21. For i = 2 To x
  22.         K = Cells(i, "C")    '買進股價,是一個固定值的條件下,推算穫利接接近1%時的股價及獲利
  23.         If K * 1000 * 0.001425 * 0.28 <= 20 Then '買進手續費是一個已發生的條件,若低於20圓,則為20圓,
  24.             ABuyP = 20
  25.         Else
  26.             ABuyP = K * 1000 * 0.001425 * 0.28
  27.         End If
  28.         ABuy = K * 1000 + ABuyP
  29.         B1 = Application.Lookup(K, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5)) '股價增加比率
  30.         J = 0
  31.         Do
  32.         B2 = B1 * J
  33.         If (K + B2) * 1000 * 0.001425 * 0.28 <= 20 Then '賣出手續費若低於20圓,則為20圓
  34.             ABuyP1 = 20
  35.         Else
  36.             ABuyP1 = (K + B2) * 1000 * 0.001425 * 0.28
  37.         End If
  38.         ASell = (K + B2) * 1000 - (K + B2) * 1000 * 0.003 - ABuyP1
  39.         A = (ASell - ABuy) / ABuy
  40.         J = J + 1
  41.         Loop While A <= 0.01     '貨利在>=0.01時,停止運算
  42.         Cells(i, "K") = K + B2 - B1 '計算獲利扣除手續費與證交稅的獲利%數
  43.         Cells(i, "L") = (((K + B2 - B1) * 1000 - (K + B2 - B1) * 1000 * 0.003 - ABuyP1) - ABuy) / ABuy
  44.         Cells(i, "M") = (((K + B2 - B1) * 1000 - (K + B2 - B1) * 1000 * 0.003 - ABuyP1) - ABuy) '計算獲利扣除手續費與證交稅的獲利金額
  45. Next


  46. End Sub
複製代碼
學習才能提升自己

TOP

回復 10# GBKEE


    謝謝G大

TOP

回復 11# hugh0620


    謝謝H大

TOP

回復 10# GBKEE


    G大大~ 用VBA來帶出函數亦是很好的一招~
    只要將公式列出直接套用~
    再去推導出新股價的價格~
    蠻值得學習的~
學習才能提升自己

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題