要求:

-vba的基本知识-表/命名范围的使用在打开和关闭工作簿时,有时在两次重访工作簿之间需要几个月的时间,很难记住数据结构和公式设置。

这就是我解决此问题的方法,并确保我在几分钟之内可以大致了解所完成的计算。

在此示例中,我将展示如何简化计算奖金的公式。

image

没有表格或UDF公式的公式外观:

IF(SUM(C2 / D2)⇐ 1; 0; IF(SUM(C2 / D2)> = 3; SUM((C2-D2)0,03); IF(AND(SUM(C2 / D2)> 1; SUM(C2 / D2)<3)= TRUE; SUM((C2-D2)0,02); 1))))

乍看之下,此公式中的逻辑可能很难提取。

带有表且没有UDF的公式外观公式:

IF(SUM([@ [年销售量]] / [@ Salary])⇐ 1; 0; IF(SUM([@ [年销售量]] / [@ Salary])> = 3; SUM(([[ [年销售额]-[@薪水])0,03); IF(AND(SUM([@ [年销售额]] / [@薪水])> 1; SUM([@ [年销售额]] / [@薪金])<3)= TRUE; SUM(([[@ [年销售额]]-[@薪水])0,02); 1))))

使用表格时,您将更容易阅读,因为您将知道计算中使用的单元格,并且表格和UDF用户定义的函数插入模块中:

‘我宁愿拥有简短的描述性标题,也不想拥有简短的描述性标题。函数calculate_salary_to_sale_ratio_and_return_bonus(yearlySales为Double,薪水为Double)Double Double Dim薪水to_sale_ratio As Double Dim bonus_factor作为Double Dim return_bonus作为Double salive_to_sale_ratio 1 =年销售额To 3 bonus_factor = 0.02案例> 3 Bonus_factor = 0.03案例否则Bonus_factor = 0#结束选择return_bonus =(年销售额-薪水)* bonus_factor compute_salary_to_sale_ratio_and_return_bonus = return_bonus结束函数函数公式的使用:

calculate_salary_to_sale_ratio_and_return_bonus([@ [年销售额]]; [@ Salary])

乍一看,这可以告诉您确切的情况,并且您可以始终深入代码以读取细节。随附的文件演示了这三种情况