- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
本帖最後由 GBKEE 於 2011-5-8 09:14 編輯
回復 8# yourstory
If a <> "" And Application.Match(a, [A1:I1], 0) Then a.Value = "v" 是簡化後的寫法
正式的寫法 If a <> "" And Application.Match(a, [A1:I1], 0)=True Then a.Value = "v"
Application.Match(a, [A1:I1], 0)) =>找到時傳回數字 Excel 自動轉換數字大於0 為 True 正確可行
但當Match找不到時傳回錯誤值 #Na 所以會有資料型態不符的錯誤產生
請修正如下- Sub ex()
- For Each a In [A3:I22]
- If a <> "" And IsNumeric(Application.Match(a, [A1:I1], 0))=True Then a.Value = "v" '正式的寫法
- ' If a <> "" And IsNumeric(Application.Match(a, [A1:I1], 0)) Then a.Value = "v" '簡化的寫法
- Next
- End Sub
複製代碼 |
|