返回列表 上一主題 發帖

如何用vba按條件取代儲存格內容

本帖最後由 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      所以會有資料型態不符的錯誤產生
請修正如下
  1. Sub ex()
  2. For Each a In [A3:I22]
  3.     If a <> "" And IsNumeric(Application.Match(a, [A1:I1], 0))=True Then a.Value = "v"  '正式的寫法
  4.     ' If a <> "" And IsNumeric(Application.Match(a, [A1:I1], 0)) Then a.Value = "v"        '簡化的寫法
  5. Next
  6. End Sub
複製代碼

TOP

        靜思自在 : 自己害自己,莫過於亂發脾氣。
返回列表 上一主題