1. 程式人生 > >xlwings:使用者自定義函式(UDF),VBA函式,Python函式

xlwings:使用者自定義函式(UDF),VBA函式,Python函式

VBA定義函式

計算 x + y

如果用巨集,要把(把返回值寫到哪個單元格里的)程式碼寫到巨集裡面。

VBA函式就不用

Function MyAddTwoNumber(x As Double, y As Double)
    
    Dim z
    z = x + y
    MyAddTwoNumber = z
    
End Function


Python的UDF

如果函式複雜,Python寫起來可能簡單一點。

建立一個和xlsm(帶巨集的excel)檔案同名的py檔案,寫好自定義的函式。

import xlwings as xw

@xw.func
def my_add_two_number(x, y):
    return x + y

把該py檔案匯入excel,就可以使用了。


如果python的函式中,可能會出現異常,此時在excel的單元格中可能會看到錯誤資訊。

可以用try...except...包住,出現異常以後return一個自定義的錯誤資訊。