返回列表 上一主題 發帖

抽獎的巨集

本帖最後由 stillfish00 於 2014-1-13 20:36 編輯

回復 1# yeh6712
用VBA時,因為Rank第二參數好像不支援array形式,所以像下面這樣囉嗦了一點
物品欄也可以不用數字
  1. Sub TEST()
  2.   Dim rngTest As Range, rngB As Range, ar, i
  3.   
  4.   With ActiveSheet
  5.     Set rngTest = .Range(.[A2], .Cells(.Rows.Count, "A").End(xlUp)).Offset(, 2)
  6.     Set rngB = .Range(.[B2], .Cells(.Rows.Count, "B").End(xlUp))
  7.    
  8.     Randomize Now
  9.     For i = 1 To rngTest.Count
  10.       rngTest(i).Value = Rnd
  11.     Next
  12.    
  13.     ReDim ar(1 To rngTest.Count)
  14.     For i = LBound(ar) To UBound(ar)
  15.       ar(i) = Application.WorksheetFunction.Rank(rngTest(i).Value, rngTest)
  16.       ar(i) = IIf(ar(i) > rngB.Count, "", rngB(ar(i)))
  17.     Next
  18.    
  19.     rngTest.Value = Application.Transpose(ar)
  20.   End With
  21. End Sub
複製代碼

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題