如何简化Excel 2016 VBA中的这段Select Case多分支代码?
简化你的Excel 2016 VBA代码
你的这段Select Case代码存在大量重复逻辑,完全可以简化成更紧凑的版本:
Dim prodNum As Integer prodNum = NemberOfProduct(i) ' 先校验取值范围,避免数组下标越界 If prodNum >= 1 And prodNum <= 12 Then CounterPlot(prodNum) = CounterPlot(prodNum) + 1 SumPureRate(prodNum) = SumPureRate(prodNum) + H(i) End If
说明:
- 原代码每个Case分支的操作完全一致,唯一变量就是数组下标,而下标正好等于
NemberOfProduct(i)的取值 - 先将
NemberOfProduct(i)的值存入变量prodNum,再通过范围判断确保它在1-12之间(防止数组下标越界报错) - 直接用
prodNum作为下标执行累加操作,省去了12个重复的Case分支
另外注意:代码里的NemberOfProduct看起来像是拼写错误,正确写法应该是NumberOfProduct,如果是笔误建议修正,避免后续维护时产生混淆。
内容的提问来源于stack exchange,提问作者niksirat
相关产品推荐
相关产品推荐

