返回列表 上一主題 發帖

請教如何將DDE資料貼上sheet2的儲存格

本帖最後由 GBKEE 於 2014-12-29 15:43 編輯

回復 5# Apple007

手動輸入>100時是正常的
會觸動 Worksheet_change(ByVal Target As Range) 工作表有修改事件程式

盤中透過DDE的資料跳動變動量(>100時),儲存格中公式值的變動   
會觸動 Sub Worksheet_Calculate()    工作表有重算事件程式
試試看
  1. Dim AR
  2. Private Sub Worksheet_Calculate()
  3.     Dim i As Integer
  4.     i = 2
  5.     Do While i <= Cells(2, "C").End(xlDown).Row
  6.         If Not IsError(Cells(i, "C")) Then
  7.            If Cells(i, "C") > 100 Then
  8.                 With Sheets("sheet2").[C65535].End(xlUp).Offset(1).Resize(, 3)
  9.                     If IsEmpty(AR) Then
  10.                         .Value = Cells(i, "A").Resize(, 3).Value
  11.                     ElseIf Cells(i, "C") <> AR(i - 1, 1) Then
  12.                         .Value = Cells(i, "A").Resize(, 3).Value
  13.                     End If
  14.                 End With
  15.             End If
  16.         End If
  17.         i = i + 1
  18.     Loop
  19.     AR = Range(Cells(2, "C"), Cells(2, "C").End(xlDown))
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# Apple007
試試看
  1. Private Sub Worksheet_Calculate()
  2.     Dim i As Integer
  3.     For i = 2 To [C65535].End(xlUp).Row
  4.         If IsNumeric(Cells(i, "C")) Then
  5.             If Cells(i, "C") > 100 Then
  6.                 Sheets("sheet2").[C65535].End(xlUp).Offset(1).Resize(, 3) = Cells(i, "A").Resize(, 3).Value
  7.             End If
  8.         End If
  9.     Next
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2017-5-26 20:07 編輯

回復 9# Apple007
再試試看
  1. Private Sub Worksheet_Calculate()
  2.     Dim i As Integer
  3.     For i = 2 To [C65535].End(xlUp).Row
  4.         If IsNumeric(Cells(i, "C")) Then
  5.             'C欄為成交量>100 ,D欄為成交總量 > F輔助欄記錄成交總量(**->成交量有變動**)
  6.             If Cells(i, "C") > 100 And Cells(i, "D") > Cells(i, "F") Then
  7.                 Cells(i, "F") = Cells(i, "D")  'F輔助欄記錄成交總量
  8.                 Sheets("sheet2").[C65535].End(xlUp).Offset(1).Resize(, 3) = Cells(i, "A").Resize(, 3).Value
  9.             End If
  10.         Else  '為開盤前清理F輔助欄
  11.             Cells(i, "F") = ""  'F輔助欄記錄成交總量
  12.         End If
  13.     Next
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題