簡體   English   中英

Excel VBA:使用范圍作為變量的求值匹配功能

[英]Excel VBA: Using Evaluate Match function with range as a variable

當我使用debug.print時,我的變量found_match變量將返回“ A7:A45”,該范圍可以根據其他因素而變化,但當前它返回此范圍。

我設置了一個Match函數,如果我在范圍內輸入“ A7:A45”,則該函數當前有效,但是如果我將其替換為變量,它將不起作用。

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

上面的工作,但如果我用變量替換范圍,當我使用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

該代碼在ws3(工作表3)上運行,但正在ws1(工作表)上尋找匹配的代碼

如何格式化Match函數以將變量用作范圍而不是專門鍵入范圍(例如A7:A45)

謝謝!

嘗試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM