Excel VBA để khớp các giá trị từ 2 cột với 1 từ các trang riêng biệt Xin chào cộng đồng Microsoft. Tôi đang cố gắng làm điều gì đó tương tự với cả Ví dụ 2 & 3 từ trang web tại đây
VBA Match | Làm cách nào để sử dụng hàm Match trong VBA Excel? (Ví dụ) (wallstreetmojo.com) , https://www.wallstreetmojo.com/vba-match/. Tôi có một tệp bao gồm bốn trang tính, mặc dù tôi đang sử dụng trang 2 & 3 trong quy trình so sánh trận đấu vba. Tôi muốn tìm các địa chỉ trùng khớp, từ hai cột trong một bảng tính riêng biệt (cột AD & AE trong bảng tính số 3) khớp với các giá trị trong cột V của bảng tính thứ hai và đặt địa chỉ trùng khớp được tìm thấy trong cột W của bảng tính 2. Tôi muốn chèn một nhận xét (tức là chưa khớp) vào cột W. Sau khi quy trình VBA hoàn tất/hoạt động, tôi muốn đính kèm nó vào biểu mẫu người dùng để kích hoạt. Dưới đây là những gì tôi đã điều chỉnh cho đến nay. Có ai có thể giúp đỡ được không? TRẬN ĐẤU phụ() Dim k là số nguyên Với k = 2 đến 2546 Worksheets(2).Cells(k, 23).Value = WorksheetFunction.MATCH(Worksheets(2).Cells(k, 22).Value, Worksheets(3).Range("AD:AD,AE:AE"), 0) Tiếp theo k Kết thúc phụ
Trả lời:
phụ MATCH2() Dim k là số nguyên Dim v As Variant Với k = 2 đến 2546 v = Application.MATCH(Worksheets(2).Cells(k, 22).Value, Worksheets(3).Range("AD:AD"), 0) Nếu IsError(v) thì v = Application.MATCH(Worksheets(2).Cells(k, 22).Value, Worksheets(3).Range("AE:AE"), 0) Kết thúc nếu Nếu IsError(v) thì Worksheets(2).Cells(k, 23).Value = "Không khớp" Khác Worksheets(2).Cells(k, 23).Value = Worksheets(2).Cells(k, 22).Value Kết thúc nếu Tiếp theo k Kết thúc phụ Nhưng không cần phải lặp: phụ MATCH3() Với Bảng tính(2).Range("W2:W2546") .FormulaR1C1 = _ "=IF(OR(NOT(ISERROR(MATCH(RC[-1],'" & Worksheets(3).Name & _ "'!C[7],FALSE))),NOT(ISERROR(MATCH(RC[-1],'" & _ Worksheets(3).Name & "'!C[8],FALSE)))),RC[-1],""Không khớp"")" .Giá trị = .Giá trị Kết thúc bằng Kết thúc phụ
Comments
Post a Comment