å¨Excelä¸åå¤è°ç¨çpython代ç ï¼
def merge_sort_unique(lists):
s = set()
for L in lists:
s.update(L)
return sorted(s)
ä»»æå¨æ¬å°å»ºç«ä¸ä¸ªç®å½ï¼å¹¶ä¿åè¿ä¸ªä»£ç 并å½å为Methods.pyãæ们ä¸æ¥æ¥ççå¦ä½ä»Excelçå·¥ä½è¡¨ä¸å¦ä½è°ç¨è¿ä¸ªèæ¬ãæå¼Excelï¼å¡«åä¸äºæ°æ®ä»¥ä¾¿æä¾pythonèæ¬å¤çï¼å¹¶ä¿æè¿ä¸ªè¡¨æ ¼äºåæçpythonèæ¬å¨åä¸ç®å½ä¸ãä½ çå·¥ä½è¡¨åºè¯¥å¦ä¸ï¼
æ¥ä¸æ¥ï¼æå¼VBA并æ交ç»ExcelPythonã
æå¼VBAæ Alt + F11 ç¶åè¿å ¥å·¥å ·çé¢ç References···å¦æä½ å·²ç»æ£ç¡®å®è£ äºExcelPythonä½ å¯ä»¥ä»å¯¹è¯æ¡ä¸éæ©ã
ç°å¨ï¼å¤è°ç¨pythonèæ¬ï¼å建ä¸ä¸ªæ°ç模åï¼Insert | Moduleï¼å¹¶æ²ä»¥ä¸VBA代ç ï¼
Function msu(lists As Range)
Set methods = PyModule("Methods", AddPath:=ThisWorkbook.Path)
Set result = PyCall(methods, "merge_sort_unique", PyTuple(lists.Value2))
msu = WorksheetFunction.Transpose(PyVar(result))
ExitFunction
EndFunction