VLOOKUP trả về giá trị ELSE cho khớp chính xác?


-1

Tôi mới sử dụng VBA và dường như tôi không thể hiểu tại sao mã của tôi không hoạt động.

Tôi đang cố gắng đánh VLOOKUPgiá các giá trị trong Zcột để xem liệu có bất kỳ giá trị "KHÔNG" hay "KHÔNG BỀN" nào không và trả về một giá trị như "N" trong BBcột nếu có kết quả khớp.

Sub comp()
Dim sRange As String
Dim result As String
sRange = "z:z"

If sRange = "NO" Or sRange = "NOT SURE" Then
   result = "N"
Else
   result = "Y"
End If
Range("bb2").Value = result
End Sub

Tôi không biết tại sao nó không trả về "N" cho các mục "KHÔNG" và "KHÔNG ĐÚNG". Tất cả các giá trị được trả về là "Y".

Cảm ơn trước.


bạn có thể thêm hoặc sửa đổi một dòng để nó cho bạn thấy giá trị của sRange .. Tôi không biết nhiều excel vba nhưng có thể thích result = "Y"+sRange hoặcRange("....").Value=sRange
barlop

1
cũng (tôi hoàn toàn đoán được) nhưng có lẽ dòng này sRange = "z:z"có thể sai .. có thể bạn đang gán cho nó một chuỗi ký tự .. và sau đó có lẽ bạn đang kiểm tra nhầm một phạm vi cho một chuỗi ký tự. vấn đề của bạn có lẽ liên quan đến những điều đó
barlop

1
@barlop là hoàn toàn chính xác. Và bạn thậm chí đang khai báo sRange như một chuỗi.
Ron Rosenfeld

Câu trả lời:


0

Mã của bạn đang trả về Y thay cho N, vì đối với sRangebiến bạn đã gán toàn bộ cột Z, trong trường hợp này, bạn cần điền toàn bộ cột Z bằng KHÔNG hoặc KHÔNG BỀN. Và tôi chắc chắn rằng bạn đã không làm điều này.

Tôi đang đề xuất cho bạn phiên bản sửa đổi chỉ bao gồm một vài hàng trong cột Z và trong trường hợp này, mã VB trả về N.

Sub comp()

Dim c As Range

    For Each c In Range("Z1:Z10")

        If (c.Value = "NO") Or (c.Value = "NOT SURE") Then

            Range("b2").Value = "N"
            Else
            Range("b2").Value = "Y"

        End If

    Next c

End Sub

Kiểm tra Ảnh chụp màn hình bên dưới:

nhập mô tả hình ảnh ở đây

Lưu ý, điều chỉnh phạm vi dữ liệu khi bạn cần.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.