在excel中每N行着色一次

在excel中每N行着色一次,excel,excel-2010,vba,Excel,Excel 2010,Vba,我了解(以有限的方式)如何在Excel 2010中使用条件格式。 我有一个日历类型的显示跨多个列,在一行中,如下所示: 1 2 3 4 5 6 7 8 ... 我想把2天涂成绿色,2天涂成红色,2天涂成橙色,2天涂成蓝色,然后重复。 我可以手动完成,但我想制作一个日历,它显示的不仅仅是今年。闰年改变了格式,第一个不总是在周一出现,等等。 有没有一种方法可以通过条件格式来实现这一点,这样当日历更新时,颜色也会更新 每天/日期占用一个单元格。作为起点,尝试将其用作条件格式的公式。这将每隔一行影响一次

我了解(以有限的方式)如何在Excel 2010中使用条件格式。 我有一个日历类型的显示跨多个列,在一行中,如下所示: 1 2 3 4 5 6 7 8 ... 我想把2天涂成绿色,2天涂成红色,2天涂成橙色,2天涂成蓝色,然后重复。 我可以手动完成,但我想制作一个日历,它显示的不仅仅是今年。闰年改变了格式,第一个不总是在周一出现,等等。 有没有一种方法可以通过条件格式来实现这一点,这样当日历更新时,颜色也会更新


每天/日期占用一个单元格。

作为起点,尝试将其用作条件格式的公式。这将每隔一行影响一次

=MOD(ROW(), 2)=1

我知道您希望使用条件格式,而不是vba来执行此操作。我有一个日历,其中突出了周末,但你可以根据自己的情况推断出来。
您正在搜索的公式是所谓的
工作日
如果您在单元格中尝试,一周的开始方式是自我解释的。
假设你的约会范围是A1:A30。触发格式化的条件将是周一和周二的
=或(工作日(A$1;2)=1;工作日(A$1;2)=2)
,周三和周四的
=或(工作日(A$1;2)=3;工作日(A$1;2)=4))
等等
Excel将为您处理闰年,所以不用担心
要填充天数,只需在A1和A2中键入第一个,并将其一直展开即可

我会说
=或(MOD(ROW(),8)=1,MOD(ROW(),8)=2)
让两行颜色相同,然后使用=3&4,5&6,7&0,是的。我的日期是横排的。so=MOD(column()…)是合适的。但它仍然留下了2,2,2,2上色的难题,然后用该格式重复。然后现在将
Row()
更改为
Column()
,这样效果最好。我只需要在一个与去年年底相匹配的专栏()上开始下一年,就可以让它继续下去。好的是,这不是为了显示,只是为了格式化。适当的单元格将被复制到一张显示表中(格式相同)。VBA会很好。我在年底遇到了一个问题。当12月31日出现红色并且是第一个红细胞时,1月1日也应该是红色,以继续这种模式。因为它以六天为周期运行,所以工作日不起作用。本周将是星期一和星期一红色、星期二和星期三橙色、星期四和星期五绿色、星期六和星期日蓝色、星期一和星期二红色、星期三和星期四橙色等。我很难理解你提到的所有工作日的六天周期,颜色每8天变化一次。无论如何,要将日期颜色带到下一页,您可以使用@Darrenb建议的方法(
MOD
),但将其应用于日期本身,而不是应用于列。