[算表] WorksheetFunction.Vlookup写入Table参数

楼主: home0303 (Blue night)   2018-08-02 09:11:06
软件:EXCEL
版本:2010
想要自订一个Moody's信评转换成S&P信评的函数
Function Rating(Moodys)
Rating = Application.VLookup(Moodys, Range("A:B"), 2, 0)
End Function
上述写法必须先在工作表的AB栏分别定义好相对应的穆迪与标普评等
但因为是要给大家用的 不能要求大家都有能力定义好AB栏
所以想要将 Range("A:B") 直接在自订函数中写死
我知道在储存格中输入的VLOOKUP函数可以使用类似
=VLOOKUP(Moodys,{"Aaa","AAA";"Aa1","AA+";"Aa2","AA";"Aa3","AA-"},2,0)
这样的用法 但要如何将{.....}带入Range("A:B")是我目前头痛的地方
想请教 谢谢
作者: soyoso (我是耀宗)   2018-08-02 09:22:00
application.vlookup(moodys,[{"Aaa","AAA";...}],2,0)
楼主: home0303 (Blue night)   2018-08-02 10:02:00
原来只差这么一点 谢谢S大!请问若出现'识别项太长'的问题 有其他解法吗
作者: soyoso (我是耀宗)   2018-08-02 11:06:00
如无合适的方式解决的话,看以array方式配合工作表函数index和match来回传
楼主: home0303 (Blue night)   2018-08-02 17:10:00
解决了!!谢谢S大

Links booklink

Contact Us: admin [ a t ] ucptt.com