求助VBA调用系统API报错,怎么解决

如题所述

通过VBA调用函数并给函数指明参数的几种调用方法:①种调用方法Worksheets(1).Range("E6") = WorksheetFunction.Median(Range("A1:B4"))这种调用形式,函数的参数是单元格地址区域,属于普通型,但数据区域的定义难于确定。②种调用方法Worksheets("sheet1").Range("D6") = Application.Min(Range("A1:B4"))这种调用形式,函数参数的数据区域及工作表名称,属于普通型,灵活性不够。③种调用方法Worksheets(1).Range("C6") = Application.Max(Worksheets("Sheet1").Range("A1:B4"))此类调用方法,直接指明工作表名称及数据范围,但还是缺乏灵活性。④种调用方法Worksheets(1).Range(Cells(6, 2), Cells(6, 2)) = Application.WorksheetFunction.Average(Worksheets(1).Range(Cells(1, 1), Cells(4, 2)))这种调用方法,是最标准、最灵活、最具有代表性、最完整、出错率最低的一种调用方法。因为一个工作薄包含多张工作表,只要在调用中,首先指明工作表名称再给出数据范围,这样,就不会和其它工作表混淆,另外,对表的名称和数据区域的引用,完全都是通过可构造性的行列序号来标记的,这种方法是相当的灵活。另外,调用函数的时候,也是逐渐引用。首先是Application引用,再次是WorksheetFunction引用,最后长到函数名称,如:Application.WorksheetFunction.Average,这样就可以保证逻辑性的完整,可以避免错误的发生。请注意VBA只能调用EXCEL绝大多数的函数,而不是所有函数。
温馨提示:答案为网友推荐,仅供参考
相似回答