- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
2#
發表於 2014-10-28 23:36
| 只看該作者
本帖最後由 luhpro 於 2014-10-28 23:38 編輯
程序跟來源沒問題,答案郤有問題????
t8899 發表於 2014-10-28 20:46 
兩個癥結點:
1. Range 的 find 函數只能找到第 1 個符合條件的儲存格(假設為 a),
若要找第 2 個符合條件的儲存格則搜尋範圍要改成從 a 的下一格開始找起.
2. Find 函數要用 LookAt:=xlWhole(此非預設值) 才是找 "整個儲存格都符合條件" 的儲存格.
故程式改為:
Dim a, b, K, c
Set a = [a1] ' 因底下 IIF 中 a.Offset(1) 此項會執行計算, 故須先定義 a 的初值,否則會有錯誤.
For K = 1 To 50
b = Application.Large(Range("g2:g857"), K)
If Not IsNumeric(b) Then GoTo 110
Set a = Range(IIf(c = b, a.Offset(1), Range("g2")), [g857]).Find(What:=b, LookIn:=xlValues, LookAt:=xlWhole)
...
c = b
End If
Next
... |
|