(2019年财务建模讲课资料02)
用“一页纸”的管理表格做一个非财务的工作模型,介绍一点Excel vba的知识。毕竟数据多了,用VBA还是非常方便的,一款程序,实质上就是一种模型的应用。
以下的设计,是想让“一页纸”管理工具通过双击单元格,实现相关内容的自动录入,能根据日期自动判断是否为周末时间,若是,则对应列的底纹设置为浅黄色。优先等级能根据双击单元格从ABC之间进行切换。
一、获取表头信息进入修攺状态
设计思路:如果k2单元格为空,则双击k2单元格就能够直接引用b1单元格的值,否则就进入修改状态。
掌握单条件判断语句,代码如下:
If Range("K2")="" Then
Range("K2")=Range("B1")
End If
二、设置光标录入"●○"。
设计思路:如果点击的单元格在第二列到第四列之间,并且单元格为空,那么就输入一个"○",如果该单元格已经有"○",则输入一个"●",如果单元格当中已经是"●",则显示为空。
掌握Target.Column、Target.Row、ActiveCell常用词汇的应用;
掌握多条件判断语句的应用;
掌握and与or的应用;
掌握对象值的设置。相关代码如下:
If Target.Column>=2 And Target.Column=2 And Target.Column=2 And Target.Column18
引用工作表函数,判断指定单元格中的日期为星期几?
XQ=Application.WorksheetFunction.Weekday(Cells(23,c),2)
如果是星期六或者是星期天,那么单元格的底纹变成浅黄色,
If XQ=7 Or XQ=6 Then
Cells(23,c).Interior.ColorIndex=44
与该日期相同列的单元格从第5行到第22行,单元格底纹全部变成浅黄色。
Range(Cells(5,c),Cells(22,c)).Interior.ColorIndex=44
Else
否则他们的为无色,
Cells(23,c).Interior.ColorIndex=0
Range(Cells(5,c),Cells(22,c)).Interior.ColorIndex=0
End If
检查下一个日子,移到下一列。
c=c+1
Loop
循环结束。
五、让代码适用于所有的工作表
为了让代码适用于所有的工作表,则需要将代码放到THISWORKBOOK之中。
六、增加一些事件的设置。
随着工作的完善,我们可以增加一些事件的设置,如双击,如关闭工作表,当这些事件被触发时,则执行相关命令。象前述的命令代码,都是写在双击单元格的事件中。以下代码是写在工作簿关闭Workbook_BeforeClose之前的事件中。
如果L4(结束日期)单元格为空,则提示录入,确保计划表编制要素完整。
需要掌握事件;MSGBOX的设置。主要代码如下:
Private Sub Workbook_BeforeClose(Cancel AsBoolean)
If Range("L4") = "" Then
MsgBox "请检查项目结束的时间!", 64, "一页纸工作计划表系统编制:丽职会计 13754272368"
Exit Sub
End If
End Sub
七、总结
上述各功能的实现,是VBA中的对象;变量;判断;循环;属性代码的组合。所以,对于初学者,掌握上述5个要素的基本知识就可以慢慢入门了。另外,一页纸工作计划表的编制,对提高团队的执行力是非常好的工具。
一页纸工作表模板扫描下载
|
|