返回列表 上一主題 發帖

除了使用on error resume next, 如何不顯示錯誤

按ENTER 向下影響activecell 位置

本帖最後由 enoch 於 2012-7-3 10:13 編輯

程式用作在第2欄輸入資料後, 會比對資料是否能在資料庫找到,
若找到會在第4欄顯示找到資料, 若不存在會顯示"找不到", 及發出聲音

若 excel 設定了按enter鍵後, 儲存格向下,
當程式在第3行輸入資料按enter後, 因為儲存格已去了第4行,
程式會錯誤處理第4行資料
請問應如何修改, 避免程式認錯activecell

另外當使用檔案內的名稱範圍"data", 前面是否一定需要加上所在工作表"information"

請指教
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     On Error GoTo errhandler
  3.    Dim row  As Integer
  4.     row = ActiveCell.row
  5.     If Target.Column <> 2 Then Exit Sub
  6.     If Cells(row, "A") <> "" Then
  7.           Cells(row, "D") = Application.WorksheetFunction.VLookup(Cells(row, "B"), Sheets("Information").Range("data"), 1, False)
  8.     End If
  9.     Exit Sub
  10. errhandler:


  11. Call Beep
  12. Cells(row, "D") = "找不到"
  13. End Sub
複製代碼

TOP

除了使用on error resume next, 如何不顯示錯誤

在Excel公式, 可以在Vlookup前面加上ISNA , 避免找不到資料時出現ERROR

若果在VBA, 除了使用 on error resume next
如何避免當使用Application.WorksheetFunction.VLookup 找不到資料時出現錯誤

請問GBKEE

請問用Excel function時, 何時決定要否加WorksheetFunction呢?
兩者只在於WorksheetFunction  會回應執行上的錯誤嗎?

TOP

明白了, 謝謝GBKEE

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題