返回列表 上一主題 發帖

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

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

本帖最後由 lcctno 於 2015-9-22 18:10 編輯

請問能否使用巨集取代人工之輸入 感謝能者大力幫助
1.這是股票購買配置程式 原本我是使用人工慢慢輸入(於黃色格內) 我想應該可以使用巨集來執行 麻煩高手相助 先謝謝您了
2.原檔案太大無法上傳 故縮減成部分程式(本人VBA能力不好 故紫色部分請勿使用 或其他有用到的地方也儘量不要動到)
3.買張數(只能使用整數) 由空白或0到 I=I+1 到不能讓剩餘金額小於0
4.C12到C2571為VBA輸入買張數之位置


股票配置.jpg
2015-9-22 18:10






股票配置.zip (252.45 KB)

本帖最後由 lcctno 於 2015-9-22 22:36 編輯

我知道"麻辣家族討論版" 有很多高手
或許您們認為我只想吃魚 而不想自己學釣魚
我只能說 若造成您們有這種看法 非我所願
我知道 會的人 很快就能完成這簡單的 for next ...
但我弄了 3個星期 還是無法完成 所以只好厚顏發帖"求救了"
懇請回復者 能附上'附註 這樣才能幫助到初學者(或接觸不久之人) 引導能自己學釣魚 謝謝您們了
若在股票交易的策略 有想要我提供意見(操作心法) 我可提供我的20年來不敗的經驗 請發短消息給我

TOP

本帖最後由 准提部林 於 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不行嗎?

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

問問題都太簡略,應詳細說明需求流程,
看問題的人好像要兼外科醫生,解剖後拿器官一一看!^ ^
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

本帖最後由 GBKEE 於 2015-9-23 07:28 編輯

回復 2# lcctno
或許您們認為我只想吃魚 而不想自己學釣魚
我只能說 若造成您們有這種看法 非我所願

你18:08發文22:36再發此文,你太心急了,
這論壇是不收費用的,靠的是熱心在回文的.
看問題的人好像要兼外科醫生,解剖後拿器官一一看!^ ^

說的好   回文不只要有熱心,還要有耐心
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Range, i As Integer
  4.     With Range("c12:c" & Range("i" & Rows.Count).End(xlUp).Row)
  5.         For Each E In .Cells
  6.             If E.Cells(1, 10) > 0 Then
  7.                 i = Int(E.Cells(1, 10) / (E.Cells(1, 3) * 1000))
  8.                 If i > 0 Then
  9.                     E = i
  10.                     '這樣應可輸入
  11.                     '但工作表上有一些像N欄的公式
  12.                     '=IF(N11="累計投資金額",-(I12+J12),-(I12+J12)+N11)
  13.                     '看不懂
  14.                 End If
  15.             End If
  16.         Next
  17.     End With
  18. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# 准提部林
1.下單的時機
其實可以不要理會 一大堆內含 只要輸入買張數(C欄) 但剩餘金額(L欄)不能為負值 也就是不能讓C欄之格變紅色 當買超過可投資金額時會變紅色

2.(C12+D12)>=0.001 那是零股 不足一張股票 其實您可以不要理那些 只要顧到(C欄)與(L欄)之關係就可

3. k12 是 證所稅稅率類別 1 , 2 , 3 (目前用不到)
證所稅稅率類別 0 (賣出前一日的台股收盤指數8499.99點或8499.99點以下)
證所稅稅率類別 1 (賣出前一日的台股收盤指數8500點-9499點)
證所稅稅率類別 2 (賣出前一日的台股收盤指數9500點-10499點)
證所稅稅率類別 3  (賣出前一日的台股收盤指數10500點或10500點以上 )

謝謝您的熱心 希望以上說明能讓您明白

TOP

回復 4# GBKEE

'=IF(N11="累計投資金額",-(I12+J12),-(I12+J12)+N11)
這是為了讓全部N欄的公式能全部相同
謝謝您的用心 看來已經很接近我所要的 但有少數幾比買單超支了
如附件(C欄內之部分格為紅底色) 還請您能繼續修正它 謝謝



股票配置V2.zip (247.86 KB)

股票配置V2.jpg

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
複製代碼
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 7# 准提部林
回報高手
目前執行起來很正確 感謝您的幫助
但請問 若J欄[券商折讓(退款)] 有加入函數公式時(也就是有退款值時) 是否仍能正常使用
因為目前還在研究該函數公式 故還沒放進去函數公式

TOP

回復 7# 准提部林
    ST = Application.Max(20, Int(SS * [H10]))  '計算稅費, 最低20
其實不需要有計算稅費 因為買是不用繳稅 但要考慮 J欄[券商折讓(退款)] 因為買與賣都會有退款
但我將計算稅費移除 就有少數買超之現象
目前以加入券商折讓(退款)之函數公式(尚未完全確定公式的可靠性) 還請您將就來測試



股票配置V3.zip (287.42 KB)

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)
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

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