返回列表 上一主題 發帖

關於變動複寫的問題,請教版上大大

關於變動複寫的問題,請教版上大大

變動複寫.rar (7.84 KB)
請教版上大大,附件裡面有股價,如果我要寫一個當指定條件變動將目標格複寫的程式要如何寫呢??
例如:G2為台積電的單量,如果條件設定為"時間不同且單量大於50",就將F2-IJ寫到M2-Q2,下次如果再有符合條件的變動就繼續將資料複寫到M2-Q2...以此類推,因為每個個股的單量變動時間不一樣,所以可能需要個別判定,可以請教版上大大此程式要如何寫嗎??

回復 1# 藍天麗池


    G大,時間變動不一定,資料由DDE傳送進來
小弟的想法是先比對時間例如8:45:03,下一次時間在8:45:20秒符合單量大於50就寫入,這樣寫可以嗎??

TOP

回復 2# 藍天麗池


附檔為XLSX沒有巨集的活頁簿,需存為XLSM為有巨集的活頁簿

試試看
  1. Option Explicit
  2. Private Sub Worksheet_Calculate() '工作表的重算事件,為工作表的預設事件
  3.     Dim i As Integer
  4.     If Time >= #9:00:00 AM# And Time <= #1:30:00 PM# Then  '股市交易時間內
  5.         i = 2
  6.        '*******************************************
  7.         '你附檔沒有DEE公式, E到L欄應為DEE公式,才可用到此工作表的重算事件
  8.         '[F:U] : F到U欄  , M欄 為 總量的DEE( 你附檔沒有,請加上做為不同時間點的判斷 )

  9.        '*******************************************
  10.         Do While [F:U].Rows(i).Cells(1) > 0
  11.             With [F:U].Rows(i)
  12.                 If .Cells(2) > 50 And .Cells(8) > 0 Then '.Cells(8) > 0 總量:單量的加總
  13.                     If .Cells(16) = 0 Or .Cells(8) > .Cells(16) Then
  14.                             '.Cells(16) = 0 : '總量尚未紀錄
  15.                             '.Cells(8) >.Cells(16) :總量 > 之前所記錄的總量
  16.                         .Cells(9).Resize(, 8) = .Cells(1).Resize(, 8).Value
  17.                     End If
  18.                 End If
  19.             End With
  20.             i = i + 1
  21.         Loop
  22.     End If
  23. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# GBKEE

G大感謝,我試試看

TOP

        靜思自在 : 靜坐常恩己過、閒談莫論人非。
返回列表 上一主題