返回列表 上一主題 發帖

[發問] 請問能否使用巨集取代人工之輸入 感謝能者大力幫助

本帖最後由 准提部林 於 2015-9-22 23:33 編輯

回復 2# lcctno


1.還看不懂下單的時機,是否L欄錢足夠了就下單,以能買的張數為限(含證交稅)?
2.IF((C12+D12)>=0.001,1,0) 什麼意思?
3.IF(K12=1,0.0002,0)+IF(K12=2,0.0004,0)+IF(K12=3,0.0006,0) 何意?直接 K12*0.0002不行嗎?

也許公式就可以,再研究看看∼∼

問問題都太簡略,應詳細說明需求流程,
看問題的人好像要兼外科醫生,解剖後拿器官一一看!^ ^

TOP

回復 5# lcctno


有時不是想的那麼簡單, 有些層面還是要考慮的:
例如:預估可買3張,但加入〔稅.費〕後,就會呈個位數的負數,這時就只能少買一張,
   加入〔稅.費〕才是重點∼∼
另.
N12公式:=-(I12+J12)+N(N11) → N(??),遇文字為0,遇數值則為該數值,其它類推
  1. Sub TEST()
  2. Dim xR As Range, SS, ST, SU
  3. With Range([E12], Cells(Rows.Count, "E").End(xlUp)(2))
  4.   .Offset(0, -2).ClearContents
  5. For Each xR In .Cells
  6.   If xR(1, 8) <= 0 Then GoTo 101
  7.  
  8.   SU = Int(xR(1, 8) / xR / 1000) '預計可購買張數
  9.   If SU <= 0 Then GoTo 101
  10.  
  11.   SS = Round(xR * SU * 1000, 0) '可買張數總股價
  12.   ST = Application.Max(20, Int(SS * [H10]))  '計算稅費, 最低20
  13.  
  14.   If SS + ST > xR(1, 8) Then SU = SU - 1 '(總股價+稅費)超過時, 少買一張
  15.   If SU > 0 Then xR(1, -1) = SU:  xR(1, -1).Select
  16. 101: Next
  17. End With
  18. End Sub
複製代碼

TOP

回復 9# lcctno
  1. Sub TEST()
  2. Dim xR As Range, SS, ST, SU, SX
  3. With Range([E12], Cells(Rows.Count, "E").End(xlUp)(2))
  4.   .Offset(0, -2).ClearContents
  5. For Each xR In .Cells
  6.   If xR(1, 8) <= 0 Then GoTo 101
  7.  
  8.   SU = Int(xR(1, 8) / xR / 1000) '預計可購買張數
  9.   If SU <= 0 Then GoTo 101
  10.  
  11.   SS = Round(xR * SU * 1000, 0) '可買張數總股價
  12.   ST = Application.Max(20, Int(SS * [H10]))  '計算手續費, 最低20
  13.   SX = Int(ST * [E10])  '退佣=手續費*退佣率
  14.  
  15.   If SS + ST - SX > xR(1, 8) Then SU = SU - 1 '(總股價+手續費-退佣)超過時, 少買一張
  16.   If SU > 0 Then xR(1, -1) = SU:  xR(1, -1).Select
  17. 101: Next
  18. End With
  19. End Sub
複製代碼
所謂的〔稅.費〕,買入時只是〔手續費〕,無礙程式計算,這不能省略
退佣=手續費*退佣率
另.計算函數 int, round 有時會差一元,請自行選擇何種方式!
 
附件:
股票配置V3-1.rar (207.24 KB)

TOP

回復 11# lcctno

試填法:改如下,速度更慢
For Each xR In .Cells
  If xR(1, 8) <= 0 Then GoTo 101
  SU = Int(xR(1, 8) / xR / 1000)
  If SU <= 0 Then GoTo 101
  xR(1, -1) = SU
  If xR(1, 8) < 0 Then SU = SU - 1
  If SU > 0 Then xR(1, -1) = SU Else xR(1, -1) = ""
  'If xR(1, -1) <> "" Then xR(1, -1).Select
101: Next
 

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題