Variabel saya found_match akan mengembalikan "A7:A45" ketika saya menggunakan debug.print, rentang ini dapat berubah tergantung pada faktor lain, tetapi saat ini ia mengembalikan ini.

Saya memiliki pengaturan fungsi Match yang saat ini berfungsi jika saya mengetikkan "A7:A45" sebagai rentangnya, tetapi jika saya menggantinya dengan variabel, itu tidak berfungsi.

row_num3 = Evaluate("MATCH(1,('" & ws1.Name & "'!A7:A45=""" & condition_1 & """)*('" & ws1.Name & "'!B7:B45=""" & condition_2 & """)*('" & ws1.Name & "'!F7:F45=""" & condition_3 & """),0)")

Debug.Print row_num3

Di atas berfungsi, tetapi jika saya mengganti rentang dengan variabel itu mengembalikan kesalahan ketika saya menggunakan debug.print:

row_num3 = Evaluate("MATCH(1,('" & ws1.Name & "'found_match=""" & condition_1 & """)*('" & ws1.Name & "'found_match2=""" & condition_2 & """)*('" & ws1.Name & "'found_match3=""" & condition_3 & """),0)")

Debug.Print row_num3

Kode ini berjalan di ws3 (lembar kerja 3), tetapi mencari kecocokan di ws1 (lembar kerja)

Bagaimana saya bisa memformat fungsi Match untuk bekerja dengan variabel sebagai rentang daripada secara khusus mengetikkan rentang (mis. A7:A45)

Terima kasih!

0
Sam 12 Agustus 2019, 18:41

1 menjawab

Jawaban Terbaik

Coba:

row_num3 = Evaluate("MATCH(1,('" & WS1.Name & "'!" & found_match & "=""" & condition_1 & """)*('" & WS1.Name & "'!" & found_match2 & "=""" & condition_2 & """)*('" & WS1.Name & "'!" & found_match3 & "=""" & condition_3 & """),0)")

Debug.Print row_num3
1
Mikku 12 Agustus 2019, 16:24