tôi đang tạo ra một ứng dụng VBA, và tôi có đoạn mã sau:đối tượng bắt buộc lỗi Excel VBA
Dim previousCell As range
Private Sub Worksheet_SelectionChange(ByVal target As range)
Application.EnableEvents = False
On Error GoTo ws_exit:
Set previousCell = target
getEffort (previousCell) '**Here i get object required**
ws_exit:
Application.EnableEvents = True
MsgBox Err.Description
End Sub
Private Function getEffort(ByVal cell As range)
' do soemthing
End Sub
Tôi không chắc chắn lý do tại sao tôi nhận được thông báo lỗi: Object required error at getEffort(previousCell)
. Nếu tôi vượt qua trong Target
, nó hoạt động.
Cảm ơn
Nên _Private Function_ là _Private Sub_ vì bạn không quan tâm đến việc nhận được một giá trị trả về và chức năng riêng kết thúc bằng "END SUB"? – ray
Không sử dụng dấu ngoặc đơn khi gọi getEffort. Nếu bạn sử dụng dấu ngoặc đơn thì mã của bạn sẽ mong đợi một giá trị trả về (không getEffort trả về bất kỳ thứ gì?) –
Lưu ý: bạn có thể sử dụng các dấu ngoặc đơn nếu bạn nhập 'Gọi' trước tên phụ -' Gọi getEffort (previousCell) ' –