当前位置: 代码迷 >> Office >> EXCEL有关问题N3
  详细解决方案

EXCEL有关问题N3

热度:2678   发布时间:2013-02-26 00:00:00.0
EXCEL问题N3
已生成好的表中,每一天是按列排列的,第一行存放每天的日期显示月份,第二行按照第一行显示 日,第三行显示星期,现表已把所有正常非工作日周六(土)、周日(日)列按条件涂成黄色,我想将法定假日也涂成黄色,将个别非工作日改回原色(涂成白色),法定假日和个别非工作日最好可以从另一个sheet中引用(可以直接从表中输入),请求解答,酌情给分,先拜谢。

------解决方案--------------------------------------------------------
这个只能用宏代码来实现吧。


For x = 1 To 366
Value = Weekday(Sheet1.Cells(1, x).Value, vbMonday)
If Value = 6 Or Value = 7 Then
iColor = 3
Else: iColor = 0
End If
 
With Sheet1.Columns(x)
.Font.ColorIndex = 1
.Interior.ColorIndex = iColor
End With
 
 Next x
------解决方案--------------------------------------------------------
那还不如你把所有休息日(包括法定)都列出来,再用VBA判断一下然后填色啊
------解决方案--------------------------------------------------------
利用第3行星期的值,假如你的星期六的单元格的值是‘6’或‘星期六’。你可以这样做:点击‘开始’菜单
再点击‘条件格式’将鼠标停留在第一行‘突出显示单元格规则’时,右侧会出现一些条件,选‘等于’,将弹出设置条件,选择星期的行列,就是等于6或7时单元格自动变成刚才那个表右侧你选定的颜色,很容易,试试就知。
  相关解决方案