《手把手教你用EXCEL制作日历.pdf》由会员分享,可在线阅读,更多相关《手把手教你用EXCEL制作日历.pdf(17页珍藏版)》请在三一文库上搜索。
1、1 / 17 用 EXCEL 制作一份万年历 今天我们介绍用Excel 制作万年历的方法。这个万年历可以显示当月的月历,还可以 随意查阅任何日期所属的月历,非常方便。如果你愿意,还可以让它在特殊的日子里显示 不同的提醒文字,一起来试试吧! 本文所涉及到的函数有: 1、 AND (logical1,logical2, . 2、 DATE (year,month,day 3、 DAY (serial_number 4、 IF (Logical,Value_if_true,Value_if_false 5、 INT (number 6、 MONTH (serial_number 7、 NOW ( 8
2、、 OR (logical1,logical2, . b5E2RGbCAP 1、启动 EXCEL2003 ,新建一个工作表,取名保存=7,“日“,WEEKDAY(B1,2; 选中 H1 单元格,输入公式:=NOW=7 ),则在F1 单元格中显示 “ 日 ” ,否则,直接显示出星期的数值 )。xHAQX74J0X 上述第二个函数,AND(D13/4=INT(D13/4,D13/100 ,29,28,IF(OR(F13=4,F13=6,F13=9,F13=11,30,31,用于获取查询“ 月份 ” 所对应的天数 ,或者 ,D13/100,则该月为29天,2=B3,1,0。 再次选中 B2 单元格,
3、用 “ 填充柄 ” 将上述公式复制到C2H2 单元格中。SixE2yXPq5 注意:上述B2 公式的含义是:如果“ 查询年月 ” 的第 1 天是星期 “ 7” ($D$13,$F$13,1,2=B3)时,在该单元格显示“ 1”,反之显示 “ 0”),为 “ 查询年月 ” 获取一个对照值,为下面制作月历做准备。 6ewMyirQFL 上述 C2H2 单元条中公式的含义与B2 相似。 在用拖拉法复制公式时,公式“ 绝对引用 ” 的单元格 ,2=E3,1,0。kavU42VRUs 8、选中 B6 单元格,输入公式:=IF(B2=1,1,0 。选中 B7 单元格,输入公式: =H6+1 。用 “ 填充
4、柄 ” 将 B7 单元格中的公式复制到B8、 B9 单元格中。 y6v3ALoS89 分别选中 B10、B11 单元格,输入公式:=IF(H9=A2,0,H9+1和 =IF(H10=A2,0,IF(H100,H10+1,0。M2ub6vSTnP 选中 C6 单元格,输入公式:=IF(B60,B6+1,IF(C2=1,1,0。用 “ 填充柄 ” 将 C6 单元格 中的公式复制到D6H6 单元格中。0YujCfmUCw 选中 C7 单元格,输入公式:=B7+1 。用 “ 填充柄 ” 将 C7 单元格中的公式复制到C8、 C9 单元格中。同时选中C7C9单元格,用 “ 填充柄 ” 将其中的公式复制到
5、D7H9 单元格 中。eUts8ZQVRd 选中 C10 单元格,输入公式:=IF(B11=$A$2,0,IF(B110,B11+1,IF(C6=1,1,0。用 “ 填充柄 ” 将 C10 单元格中的公式复制到D10H10 单元格和C11 单元格中。 sQsAEJkW5T 6 / 17 至此,整个万年历=1,DAY(D1=1,“新的新气象!加油呀! “,IF(AND(MONTH(D1=3,DAY(D1=8,“向女同胞们致敬! “,IF(AND(MONTH(D1=5,DAY(D1=1,“劳动最光荣 “,IF(AND(MONTH(D1=5,DAY(D1=4,“青年是祖国的栋梁 “,IF(AND(M
6、ONTH(D1=6,DAY(D1=1,“原天下所有的儿童永远快乐“,0 和 =IF(AND(MONTH(D1=7,DAY(D1=1,“党的恩情永不忘 “,IF(AND(MONTH(D1=8,DAY(D1=1,“提高警惕,保卫祖国! “,IF(AND(MONTH(D1=9,DAY(D1=10,“老师,您辛苦了! “,IF(AND(MONTH(D1=10,DAY(D1=1,“祝我们伟大的祖国繁荣富强“,0 。 zvpgeqJ1hk 设置好 B14 和 B15 单元格的字体、字号、字符颜色。 注意:上述公式的含义是:如果当前日期逢到相关的节日 V7l4jRB8Hs |-AutoComect |-OL
7、EDBErrors 83lcPA59W9 |-Debug |-CommandBars(CommandBar mZkklkzaaP |-VBE |-Dialogs(Dialog AVktR43bpw |-WorksheetFunction |-RecentFilds(RecentFile ORjBnOwcEd |-DefaultWebOptions |-Windows(Window 2MiJTy0dTT |-LanguageSettings |-Workbooks(Workbook gIiSpiue7A |-Filesearch |-Names(name uEh0U1Yfmh |-AnswerW
8、izard |-ODBCErrors IAg9qLsgBX 最上层的 Application 是指整个应用程序,其中最常用到的Workbooks代表活页簿集合,在其 后的括号内的 Workbook 是指一个工作簿。WwghWvVhPE 在VB 中要打开 Excel,首先要引用Microsoft Excel 9.0( 或8.0)Object Lobrary 。asfpsfpi4k 打开的步骤是:激活 Excel应用程序。 Set appExcel = CreateObject(“excel.application“ Set wbExcel = appExcel.Workbooks.Open(Ap
9、p.Path & “students.xls“ PgdO0sRlMo appExcel.Visible = True 使对象可见 End Sub 二工作表对象Worksheet Workbooks对象有一个集合对象工作表Worksheets,,用来放工作表相关的资料。 Workbooks(workbook 对象 | 集合 - |-HTMLProjcet |-Publishobjects 3cdXwckm15 |-RoutingSlip |-DocumentProperties h8c52WOngM |-Areas |-Worksheets |-WebOptions |-Names |-VBPr
10、oject |-CustomViews v4bdyGious |-CommandBars |-PivotCaches |-Windows |-Styles |-Charts 调用方法是声明一个工作表变量,用For- Each循环方式可以读取集合对象Workbooks里的所有工作表名。 J0bm4qMpJ9 11 / 17 代码如下: Dim temp As Excel.Worksheet For Each temp In wbExcel.Worksheets wbExcel 是上面代码中声明的Workbook XVauA9grYP FORM1.Combo1.AddItem temp.Name
11、Next 三读取工作表某个选取范围的内容。 要读取工作表某个范围单元格,可先定义一个Excel范围对象变量,然后使用Rows或Colum ns函数指定某行或某列的范围,范围单元格 地址以目前被选取范围为基准。具体方 法如下:bR9C6TJscw 第二步:选取第二行(以这行为第一行) Set TempRange = Tempsheet.Rows(2 第三步:读取范围内第一行第二列的单元格 Text1.Text = TempRange.Cells(1, 2 四其他 用TempRange.Find(“.Column 方法可以查找目前范围内第一行的第一个空白单元格 如何实现 VB与 EXCEL 的无缝
12、连接 2003-02-17 吴刚 yesky VB是常用的应用软件开发工具之一,由于VB 的报表功能有限,而且一但报表格式发生变 化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在 已经充分利用 EXECL 的强大报表功来实现报表功能。但由于VB 与EXCEL 由于分别属于不 同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。pN9LBDdtrd 一、 VB读写 EXCEL 表: VB本身提自动化功能可以读写EXCEL 表,其方法如下: 1、在工程中引用Microsoft Excel 类型库: 从“工程 “菜单中选择 “引用 “栏;选择 Micro
13、soft Excel 9.0 Object Library 创建 EXCEL 对象QF81D7bvUA Set xlBook = xlApp.Workbooks.Open(“ 文件名 “ 打开已经存在的EXCEL 工件簿文件 4B7a9QFw9h xlApp.Visible = True 设置 EXCEL 对象可见 设置活动工作表 xlSheet.Cells(row, col = 值 给单元格 关闭工作簿 xlApp.Quit 结束 EXCEL 对象 Set xlApp = Nothing 释放 xlApp 对象 xlBook.RunAutoMacros (xlAutoOpen 运行 EXCE
14、L 启动宏 xlBook.RunAutoMacros (xlAutoClose 运行 EXCEL 关闭宏 4、在运用以上VB命令操作 EXCEL 表时,除非设置EXCEL 对象不可见,否则VB程序可继 续执行其它操作,也能够关闭EXCEL ,同时也可对EXCEL 进行操作。但在EXCEL 操作过 程中关闭 EXCEL 对象时, VB 程序无法知道,如果此时使用EXCEL 对象,则 VB 程序会产生 自动化错误。形成VB程序无法完全控制EXCEL 的状况,使得VB与 EXCEL 脱节。ix6iFA8xoX 二、 EXCEL 的宏功能: EXCEL 提供一个 Visual Basic编辑器,打开
15、Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的“插入模块 “,则增加一个“模块 1“, 在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL 有两个自动宏:一个是启动宏 ),另一个是关闭宏 )。它们的特性是:当用EXCEL 打含有启动宏的工簿时,就会自动运行启动 宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB 的自动化功能 来调用 EXCEL 工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令 xlBook.R unAutoMacros (xlAutoOpen 和xlBook.RunAutoMacros
16、(xlAutoClose 来运行启动宏和关闭宏。wt6qbkCyDE 三、 VB与EXCEL 的相互勾通: 充分利用 EXCEL 的启动宏和关闭宏,可以实现VB 与EXCEL 的相互勾通,其方法如下: 在EXCEL 的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏 中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断 EXCEL 是否打开,如果此标志文件存在,表明EXCEL 对象正在运行,应该禁止其它程序的 运行。如果此标志文件不存在,表明EXCEL 对象已被用户关闭,此时如果要使用EXCEL 对 象运行,必须重新创建EXCEL 对象。Kp5z
17、H46zRk 四、举例: 1、在 VB 中,建立一个 FORM ,在其上放置两个命令按钮,将ommand1的Caption属性改 为EXCEL ,Command2的Caption属性改为 End。然后在其中输入如下程序:Yl4HdOAA61 Dim xlApp As Excel.Application 定义 EXCEL 类 Dim xlBook As Excel.Workbook 定义工件簿类 Dim xlsheet As Excel.Worksheet 定义工作表类 Private Sub Command1_Click( 打开 EXCEL 过程 If Dir(“D:tempexcel.bz“
18、 = “ Then 判断 EXCEL 是否打开 Set xlApp = CreateObject(“Excel.Application“ 创建 EXCEL 应用类 ch4PJx4BlI xlApp.Visible = True 设置 EXCEL 可见 13 / 17 Set xlBook = xlApp.Workbooks.Open(“D:tempbb.xls“ 打开 EXCEL 工作簿 qd3YfhxCzo Set xlsheet = xlBook.Worksheets(1 打开 EXCEL 工作表 xlsheet.Activate 激活工作表 xlsheet.Cells(1, 1 = “a
19、bc“ 给单元格 1行驶列赋值 xlBook.RunAutoMacros (xlAutoOpen 运行 EXCEL 中的启动宏 Else MsgBox (“EXCEL 已打开 “ End If End Sub Private Sub Command2_Click( If Dir(“D:tempexcel.bz“ 执行 EXCEL 关闭宏 xlBook.Close (True 关闭 EXCEL 工作簿 xlApp.Quit 关闭 EXCEL End If Set xlApp = Nothing 释放 EXCEL 对象 End End Sub 2、在盘根目录上建立一个名为Temp的子目录,在 Te
20、mp目录下建立一个名为“bb.xls“ 的E XCEL 文件。 E836L11DO5 3、在 “bb.xls“ 中打开 Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘: S42ehLv E3M Sub auto_open( Open “d:tempexcel.bz“ For Output As #1 写标志文件 Close #1 End Sub Sub auto_close( Kill “d:tempexcel.bz“ 删除标志文件 End Sub 4、运行 VB 程序,点击 EXCEL 按钮可以打开EXCEL 系统,打开 EXCEL 系统后, VB
21、 程序和 EXCEL 分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB 程序中重复点击EXCEL 按钮时会提示EXCEL 已打开。如果在EXCEL 中关闭 EXCEL 后再点 E XCEL 按钮,则会重新打开EXCEL 。而无论 EXCEL 打开与否,通过VB程序均可关闭EXCE L。这样就实现了VB 与EXCEL 的无缝连接。 501nNvZFis Excel 制作奖金计算表 http:/2006 年 08月 16 日 03:52:06 陈秀峰 源码下载 14 / 17 某公司规定:一个月奖金基数为300 元,病假1 天扣 15 元,事假一天扣30 元,旷工 一天扣
22、60 元,扣完为止。使用这个奖金计算表时,只要将员工的出勤情况记录在表中,该 员工的奖金将自动计算出来,兼有考勤和计算奖金两种功能。自动统计表做好以后还可以 保存成模板,以便以后使用。jW1viftGw9 本文所涉及到的Excel 函数有: 1、 COUNTIF(Range,Criteria 2、 MONTH(serial_number xS0DOYWHLP 3、 TODAY( 注意:图中符号的含义是:B 表示病假, S表示事假, G 表示旷工, Q 表示出勤, J表 示法定休息日。 1、启动 Excel2003,按照图1 所示的样式,制作一张二维表格,并填入相关文本。 2、将 A1 至 BM
23、1 单元格合并成一个单元格后,输入表格标题&“月“,用于显示出 当前的月份。ZKZUQsUJed 15 / 17 注意:在上述单元格中直接输入月份数值也是可行的。 4、选中 BM4 单元格,输入公式:=IF(300-COUNTIF(C4:BL4,“B“*7.5- COUNTIF(C4:BL4,“S“*15-COUNTIF(C4:BL4,“G“*300,300-COUNTIF(C4:BL4,“B“*7.5- COUNTIF(C4:BL4,“S“*15-COUNTIF(C4:BL4,“G“*30,0,确认,计算出第一位员工的当 月奖金额。dGY2mcoKtT 注意:上述公式的含义是:用“COUNTIF(C4:BL4,“B“ 、COUNTIF(C4:BL4,“S“、 COUNTIF(C4:BL4,“G“” 分别用于统计每位员工的病假、事假、旷工的次数,再分别乘以 “ 7.5 、15、30”&“月“)转换为具体的值如 “12 月 ” ),最后将文档保存 一下。llVIWTNQFk 8、以后就可以用这个计算表逐日对员工进行考勤,到了月底就可以自动计算出奖金数据 了。 申明: 所有资料为本人收集整理,仅限个人学习使用,勿做商业用 途。
链接地址:https://www.31doc.com/p-4514510.html