close

Sub 轉折公式化()

  Range("AA52") = "供下列判斷的dir"
  Range("AB52") = "供下列判斷的上界"
  Range("AC52") = "供下列判斷的下界"
  Range("AD52") = "dir"
  Range("AE52") = "新的上界"
  Range("AF52") = "新的下界"
  Range("AG52") = "新的上界的列號"
  Range("AH52") = "新的下界的列號"
  Range("AI52") = "轉折的列號"
  Range("AJ52") = "轉折值"

  Range("AA54") = 1 '1:上  2:下
  Range("AB54") = 0 '初始上界
  Range("AC54") = 999999 '初始下界
  Range("AD54") = 0.05 '股票用,代表漲跌倍數 ; 若為期貨 則應設為 0
  Range("AI54") = 0 '期貨用, 代表漲跌多少點,才視為轉向 ; 若標的是股票,則應設為 0
    
  Range("AA55").Formula = "=AD55"
  Range("AB55").Formula = "=AE55"
  Range("AC55").Formula = "=AF55"
  Range("AD55").Formula = "=IF(AA54=1,IF(O55>AB54,1,IF(P55<AC54,2,1)),IF(P55<AC54,2,IF(O55>AB54,1,2)))"
  Range("AE55").Formula = "=IF(AD55=1,IF(O55>AE54,O55,AE54),AF55*(1+$AD$54)+$AI$54)"
  Range("AF55").Formula = "=IF(AD55=1,AE55*(1-$AD$54)-$AI$54,IF(P55<AC54,P55,AF54))"
  Range("AG55").Formula = "=IF(AD55=1,IF(O55>AE54,ROW(),AG54),0)"
  Range("AH55").Formula = "=IF(AD55=1,0,IF(P55<AC54,ROW(),AH54))"
  Range("AI55").Formula = "=IF(AD55=AD56,0,IF(AD55=1,AG55,AH55))"
  Range("AJ55").Formula = "=IF(ISNA(MATCH(ROW(),AI55:AI997,0)),#N/A,IF(AD55=1,O55,P55))"
End Sub

arrow
arrow
    文章標籤
    vba
    全站熱搜

    pixso 發表在 痞客邦 留言(0) 人氣()