我得到一個類型不匹配錯誤,同時運行此代碼:Excel的VBA:VLOOKUP函數返回類型不匹配錯誤
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lastrow1 As Long
Dim val As Variant
Lastrow1 = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
With Sheets("Sheet1")
Lastrow1 = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To Lastrow1
If (.Cells(I, "A") <> "") Then
**val = Application.WorksheetFunction.VLookup(Weekday(I, "A"), day_name, 2, 0)**
Cells(I, "B") = val
End If
Next I
End With
End Sub
下面是表陣列day_name
具有以下值:
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
有沒有人有任何建議如何避免這個錯誤?
還有其他的選擇你應該考慮。 你可以做到這一點簡單地用公式和/或格式化 在VBA函數,而不是VLOOKUP,你可以更簡單地返回星期的一天使用 格式的字符串(了myCell,「DDDD」) 你需要考慮的另一件事是,當你的例程寫結果時,這也會觸發事件。您可能需要檢查目標,或禁用事件(然後重新啓用它們),或兩者兼而有之。 –
查看我編輯的回覆以演示不同的事件代碼方式 –