返回列表 上一主題 發帖

[發問] 請教如何讓vba自動判斷篩選最大值與最小值

回復 2# rouber590324
樓主應該是期望如此的
  1. Option Explicit
  2. Sub Ex()
  3.     Dim D As Object, Rng As Range, R As Range
  4.     Dim xMax As Single, xMin As Single
  5.     Set D = CreateObject("SCRIPTING.DICTIONARY")    '字典物件
  6.     Set Rng = Sheets("資料").[I3:O21]               '資料範圍
  7.     xMax = Application.Max(Rng.Columns(3))          '第3欄(k欄)的最大值
  8.     xMin = Application.Min(Rng.Columns(3))          '第3欄(k欄)的最小值
  9.     For Each R In Rng.Rows                          '資料範圍(物件)的列(物件)
  10.         If R.Cells(3) = xMax Then                   '是最大值的數值
  11.             If D.exists(xMax) Then                  '字典物件的key(關鍵字)是存在的
  12.                 Set D(xMax) = Union(R, D(xMax))     'Union:兩個或多個範圍的合併範圍。
  13.             Else
  14.                 Set D(xMax) = R                     '設定範圍
  15.             End If
  16.         ElseIf R.Cells(3) = xMin Then               '是最小值的數值
  17.             If D.exists(xMin) Then
  18.                 Set D(xMin) = Union(R, D(xMin))
  19.             Else
  20.                 Set D(xMin) = R
  21.             End If
  22.         End If
  23.     Next
  24.     D(xMax).Copy Sheets("最大值").[a1]
  25.     D(xMin).Copy Sheets("最小值").[a1]
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

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