返回列表 上一主題 發帖

如何寫一vba 抓出 CALL/PUT 最大成交量

如何寫一vba 抓出 CALL/PUT 最大成交量

成交量                                                                               
640        640        705        △75        6                6400        2.2        2.2        2.4        ▽2.8        7799                       
550        550        570        △73        32                6500        3.6        3.6        3.7        ▽4.4        12023                       
464        463        467        △78        228                6600        4.4        4.4        4.5        ▽7.6        32553                       
365        360        385        △69        971                6700        8        7.9        8        ▽11.5        35801                       
282        279        282        △64        3087                6800        14        14        14.5        ▽18        35656                       
199        198        200        △52        11495                6900        24        23.5        24.5        ▽27        40295                       
126        125        127        △38        29425                7000        40.5        40        40.5        ▽39.5        41877                       
70        69        70        △24.5        52292                  7100         69        67        69        ▽54        28706                       
32        31.5        32        △12        60231                7200        110        111        112        ▽72        9546                       
13        13        13.5        △4.6        43271                7300        174        172        174        ▽84        2863                       
  如何寫一vba  抓出  CALL最大成交量是 7200 (60231口)   put 是7000 41877口
十分感謝(也就是SHOW 履約價)...
yes show me money

回復 1# alims
  1. for i = 1 To 9
  2. if (Cells(i, 5) < Cells(i + 1, 5)) Then
  3. c1 = Cells(i + 1, 5)
  4. c2 = Cells(i + 1, 6)
  5. End If

  6. if (Cells(i, 11) < Cells(i + 1, 11)) Then
  7. p1 = Cells(i + 1, 5)
  8. p2 = Cells(i + 1, 6)
  9. End If
  10. Next

  11. Range("A15") = c1
  12. Range("A16") = c2
  13. Range("A17") = p1
  14. Range("A18") = p2
複製代碼
不知道這樣有沒有幫到你

TOP

回復 2# ken759727


   十分感謝在這麼短的時間就回復而且又正確....
yes show me money

TOP

  1. Sub yy()
  2. a = [e:e].Find([max(e:e)], , , 1)(1, 2)
  3. b = [k:k].Find([max(k:k)], , , 1)(1, -4)
  4. MsgBox a & vbLf & b
  5. End Sub
複製代碼

TOP

回復 4# oobird


    find 的函數也能這寫!厲害 .那最小也可以MIN嗎.
yes show me money

TOP

回復 5# alims

最好自己嘗試一下。

TOP

回復 4# oobird


    版主可以問一下(1, 2)跟(1, -4) 代表的意思嗎?
字典兩各字 還真難理解

TOP

回復 7# freeffly

位移的一種寫法,當找到最大值時位移到同列的某個欄位

TOP

回復 8# oobird

        版主請問一下 你這裡用的find應該跟下面一樣方式吧
      Find([max(C:C)], , , 1)
        ,只要3各嗎分別代表哪幾個? 那各1的意思是?
        查了一下資料沒看到相關說明

        Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
字典兩各字 還真難理解

TOP

你可以依照順序比對
這個1代表的是 LookAt:=xlWhole,預設(默認)值是xlPart
參數都有一個預設值,省略的參數就會自動採用預設值。

TOP

        靜思自在 : 有時當思無時苦,好天要積雨來糧。
返回列表 上一主題