返回列表 上一主題 發帖

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

本帖最後由 lcctno 於 2015-9-23 13:19 編輯

回復 10# 准提部林
退佣=手續費*退佣率 這是一般人的認知 我以前也是這樣認為
經向卷商查證 得到結果為
例一:
1000 *15.4=15400
當日計算 :
已收手續費=15400*0.001425=21.945   ===> 21

每月折讓處理:
折讓後應收手續費=15400 * .0.001425 *0.28=6.1446 ==>  6

折讓金= 21-6 =15
--------------------------------------------------------------------------------------------------------------------------------------------------
例二:
1000 * 11.64=11640
當日計算 :
已收手續費=11640*0.001425=16.587   ===> 16(小於20以20計算) ===>20

每月折讓處理:
折讓後應收手續費=(11640 * .0.001425)(小於20以20計算) *0.28=5.6 ==>  5

折讓金= 20-5 =15
------------------------------------------------------------------------------------------------------------------------------------------------------
例三:
3000 * 11.64=34920
當日計算 :
已收手續費=34920*0.001425=49.761   ===> 49

每月折讓處理:
折讓後應收手續費=(34920 * .0.001425) *0.28=13.93308 ==> 13

折讓金= 49-13 =36

我自行將公式設為我的退佣方式(應該是對的)
折讓公式=IF(-(-C12-D12)*E12*1000*$H$10<20,20-TRUNC(20*(1-$E$10)),-G12-TRUNC(ABS(F12)*$H$10*(1-$E$10)))*IF(C12+D12=0,0,1)
C12 = 買張數
D12 = 賣張數
E12 = 成交價
F12 = 買 or 賣淨價
$H$10 = 券商買賣手續費率
$E$10 = 券商折讓率

可不可以將vba寫成試誤法 也就是給C欄輸入參考買張數時 接著檢查對應之L欄(剩餘金額)之值是否小於0 若小於0時 買張就減1張 並重新輸入數值
這樣就不用管手續費 折讓 稅率等之問題 就如同我用人工逐一看綠色來輸入 當輸入格變成紅色時就重新輸入(少1張)
謝謝您的用心與幫助

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

回復 12# 准提部林

感謝完美的完成我所需要的結果

測試回報 試誤法費時約是不到2倍的時間 但也不超過10秒 可以算是很完美了






最後完成檔
股票配置V3-2.zip (290.47 KB)

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題