返回列表 上一主題 發帖

請問版上大大,excel可以執行這種資料的暫存嗎??

請問版上大大,excel可以執行這種資料的暫存嗎??

本帖最後由 藍天麗池 於 2015-1-20 18:14 編輯

請問版上大大,如果A1=5、B1=4,下一秒A1=7、B1=1,如果我想要在A2、B2得到這一秒跟前一秒的差值(7-5=2、1-4=-3)要怎麼做??

回復 1# 藍天麗池

要自己把舊的值存起來, 再跟新的值比

概念如下,  再加 column 和 row 的判斷, 就差不多了
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    OldValue= Target.Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    NewValue= Target.Value
    '再去計算即可
End Sub

TOP

回復 2# diolin


    不太懂,可以請大大寫個例子讓我參考嗎??

TOP

回復 3# 藍天麗池

你的需求, 大概是這樣

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Select Case Target.Address
        Case "$A$1": A1 = Target.Value
        Case "$B$1": B1 = Target.Value
    End Select
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Address
        Case "$A$1": Range("A2") = A1 - Target.Value
        Case "$B$1": Range("B2") = B1 - Target.Value
    End Select
End Sub

TOP

本帖最後由 GBKEE 於 2015-1-30 13:18 編輯

回復 1# 藍天麗池
  1. Option Explicit
  2. Option Base 1       '在模組層次中用來宣告陣列索引的預設下限
  3. Dim Ar As Variant   '這模組的絲用便變數
  4. Sub Ex() '下一秒的程式碼
  5.     With Sheets(1)  '指定的工作表
  6.         If Not IsEmpty(Ar) Then
  7.             If Ar(1) <> .[A1] Then .[A2] = .[A1] - Ar(1)
  8.             If Ar(2) <> .[b1] Then .[b2] = .[b1] - Ar(2)
  9.         End If
  10.         Ar = Array(.[A1].Value, .[b1].Value)
  11.     End With
  12. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# diolin


    D大感謝你

TOP

本帖最後由 藍天麗池 於 2015-1-28 20:53 編輯

回復 5# GBKEE


    G大消失了一陣子,害我以為這個優質的論壇又少了一位大將,另外請教G大,你跟D大的程式碼是差在哪呢??

TOP

回復 5# GBKEE


    G大,執行後會出現陣列索引超出範圍??

TOP

回復 8# 藍天麗池
程式碼已更新.
由於眼睛長時間的盯看螢幕,急需休養,所以這個月每天開機的時間,僅是看mail,
偶爾還是會在論壇看看.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 9# GBKEE


    G大要好好保重身體

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題