Board logo

標題: [發問] Excel一個變動儲存格保留最大值及最小值 [打印本頁]

作者: joss    時間: 2011-11-22 01:06     標題: [發問] Excel一個變動儲存格保留最大值及最小值

本帖最後由 joss 於 2011-11-22 01:11 編輯

請各位高手幫幫忙
=======
A1=儲存格是股票指標計算
隨時變動
如何顯示a1歷史中的最大值及最小值?
===========
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
K = WorksheetFunction.Max([A1:A10])
If K > [B1] Then [B1] = K
End Sub=================
Private Sub Worksheet_Calculate()

If Sheets("sheet1").Range("a1").Value > Sheets("sheet1").Range("a2").Value Then Sheets("sheet1").Range("a2").Value = Sheets("sheet1").Range("a1").Value

End Sub =======
是不是像上面
但我試不出成效
該怎麼做???
感謝各位大大
作者: GBKEE    時間: 2011-11-22 10:29

本帖最後由 GBKEE 於 2011-11-22 10:31 編輯

回復 1# joss
  1. Option Explicit
  2. Dim AR()        '動態的陣列變數
  3. Private Sub Worksheet_Calculate()
  4.     Dim A As Integer
  5.     If Not IsNumeric([A1]) Then Exit Sub   'A1不是數值 離開程式
  6.     On Error Resume Next                   '處裡錯誤->有錯誤時不理會錯誤繼續下一程式碼
  7.     A = UBound(AR)                         '取得AR陣列最大維度
  8.     If Err.Number <> 0 Then                '有錯誤: AR陣列變數尚未設定維數
  9.         ReDim AR(0)                        '設定AR為一維陣列 維數為0
  10.         AR(0) = [A1]
  11.     Else
  12.         If Not IsError(Application.Match(AR, [A1], 0)) Then  '判斷[A1]的值,如不存在AR中.
  13.             ReDim Preserve AR(UBound(AR) + 1)                'AR 陣列內容不變再加上一維元素
  14.             AR(UBound(AR)) = [A1]                            '再加上一維元素= A1
  15.         End If
  16.     End If
  17.     MsgBox "最大值 : " & Application.Max(AR) & "最小 : " & Application.Min(AR)
  18. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)