返回列表 上一主題 發帖

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

回復 5# GBKEE


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

TOP

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

回復 5# GBKEE


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

TOP

回復 4# diolin


    D大感謝你

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

回復 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

回復 2# diolin


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

TOP

回復 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

        靜思自在 : 稻穗結得越飽滿,越會往下垂,一個人越有成就,就要越有謙沖的胸襟。
返回列表 上一主題