返回列表 上一主題 發帖

[發問] 如何設定

回復 4# acdx
可以改用Combobox,讓使用者只能從上述數值選
  1. Private Sub UserForm_Initialize()
  2.   '加上以下兩行
  3.   ComboBox1.List = Array(100, 125, 160, 200, 250, 315, 400, 500, _
  4.                 630, 800, 1000, 1250, 1600, 2000, 2500, 3150, _
  5.                 4000, 5000, 6300, 8000, 10000, 12500, 16000, 20000)
  6.   ComboBox1.Style = fmStyleDropDownList
  7. End Sub
複製代碼

TOP

本帖最後由 stillfish00 於 2013-9-3 20:05 編輯

回復 6# GBKEE
版主,請教一下
之前自己試寫,使用 Application.WorksheetFunction.Match 去尋找陣列元素,找不到時總會出現錯誤 1004,導致強制偵錯..使用上很不方便,改用 Application.Match 反而就不會了,十分方便,難道這兩個是不同 function ?

那麼 Match 是特例嗎 ? 是否其他會傳回 #N/A 錯誤值的 WorksheetFunction  函數,都能這樣用呢 ?
  1. Sub TEST()
  2.   'If IsError(Application.Match(999, Array(1, 2, 3), 0)) Then MsgBox "Not found"
  3.   'If IsError(Application.WorksheetFunction.Match(999, Array(1, 2, 3), 0)) Then MsgBox "Not found"
  4. End Sub
複製代碼

TOP

回復 9# ML089
回復 10# GBKEE
明白了,又拿 Lookup 和 Index 比較一下,也是類似情形
    v1 = Application.Lookup(0, Array(1, 2, 3))
    v2 = Application.Index(Array(1, 2, 3), 4)
省略 WorkSheetFunction => 只會使函數傳回錯誤值
有加 WorkSheetFunction => 造成執行階段錯誤
也謝謝提供變通方法參考。

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題