如何使vba中的所有子例程都适用同一组条件语句?

非常感谢那些回答我原来的问题的人。 我想详细谈谈我遇到的问题。 我正在研究一个macros,它提供了我们生产的产品的4个不同生产阶段的可视化表示。 电子表格设置为线性日历,显示全年365天,并将其分组到日历周。 每个生产阶段都有不同的颜色。 四个阶段:1)assembly:1天(黄色)2)初步分析:1天(紫色)3)深入分析:7天(绿色)4)运输:1天(红色)

周末或假期没有工作在设施上进行。 星期六和星期天由黑色的单元格代表,节假日由橙色的单元格表示,并具有十字交叉的格局。 macros被devise为跳过这些假期使用以下if语句:

昏暗我作为整数

我=分析日

对于我= 1至7

ActiveCell.Select

如果Selection.Interior.Pattern = x1CrissCross和Selection.Interior.Color =橙色然后

ActiveCell.Offset(0,1)。select

否则:ActiveCell.Select

万一

如果Selection.Interior.Color =黑色然后

ActiveCell.Offset(0,2)。select

否则:ActiveCell.Select

万一。

If Then语句告诉macros忽略星期六和星期天工作每次。 但是,告诉macros观跳过节假日的声明只是部分时间,如果假期持续时间超过几天(圣诞节假期持续九天),macros将插入生产工作日散布整个假期。 我发现通过直接复制和粘贴上述语句几次似乎解决了这个问题。 但我相信必须有一个更有效的方法来做到这一点。 有谁知道一种方法,我可以解决这个问题,而不必复制和粘贴相同的代码行多less次?

提前致谢!

如果您正在寻找一种方法进行testing并将结果全局存储在您的代码中,那么也可以在其他函数/子文件中访问预先testing过的数据。

如果你正在寻找一种方法来压缩你的代码,并写下类似的东西

b = check(a) 

代替

 if a="xx" then b = "something" else b = "something else" end if 

看看这个链接的function/子解释