新如何用EXCEL表格制作日历.docx

上传人:b****3 文档编号:11209847 上传时间:2023-05-29 格式:DOCX 页数:14 大小:23.65KB
下载 相关 举报
新如何用EXCEL表格制作日历.docx_第1页
第1页 / 共14页
新如何用EXCEL表格制作日历.docx_第2页
第2页 / 共14页
新如何用EXCEL表格制作日历.docx_第3页
第3页 / 共14页
新如何用EXCEL表格制作日历.docx_第4页
第4页 / 共14页
新如何用EXCEL表格制作日历.docx_第5页
第5页 / 共14页
新如何用EXCEL表格制作日历.docx_第6页
第6页 / 共14页
新如何用EXCEL表格制作日历.docx_第7页
第7页 / 共14页
新如何用EXCEL表格制作日历.docx_第8页
第8页 / 共14页
新如何用EXCEL表格制作日历.docx_第9页
第9页 / 共14页
新如何用EXCEL表格制作日历.docx_第10页
第10页 / 共14页
新如何用EXCEL表格制作日历.docx_第11页
第11页 / 共14页
新如何用EXCEL表格制作日历.docx_第12页
第12页 / 共14页
新如何用EXCEL表格制作日历.docx_第13页
第13页 / 共14页
新如何用EXCEL表格制作日历.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

新如何用EXCEL表格制作日历.docx

《新如何用EXCEL表格制作日历.docx》由会员分享,可在线阅读,更多相关《新如何用EXCEL表格制作日历.docx(14页珍藏版)》请在冰点文库上搜索。

新如何用EXCEL表格制作日历.docx

新如何用EXCEL表格制作日历

用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、OR(logical1,logical2,...)

1、启动EXCEL2003,新建一个工作表,取名保存(如万年历.xls),并在相应的单元格中,输入如图1所示的文本。

 

2、同时选中B1、C1、D1单元格,按“格式”工具栏上的“合并及居中”按钮,将其合并成一个单元格,并输入公式:

=TODAY()。

选中B1(合并后的)单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图2),在“数字”标签中的“分类”下面选中“日期”选项,再在右侧“类型”下面选中“二○○一年三月十四日”选项,“确定”退出,将日期设置成中文形式。

注意:

TODAY()函数用于提取当前系统日期,请将系统日期一定要调整准确哟。

3、选中F1单元格,输入公式:

=IF(WEEKDAY(B1,2)=7,"日",WEEKDAY(B1,2));选中H1单元格,输入公式:

=NOW()。

选中F1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“特殊”选项,再在右侧“类型”下面选中“中文小写数字”选项,“确定”退出,将“星期数”设置成中文小写形式;选中H1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“时间”选项,再在右侧“类型”下面选中一款时间格式,“确定”退出。

注意:

①上述前面一个公式的含义是:

如果(IF)当前日期(B1)是星期“7”(WEEKDAY(B1,2)=7),则在F1单元格中显示“日”,否则,直接显示出星期的数值(WEEKDAY(B1,2))。

②上述第二个函数(NOW())用于提取当前系统日期和时间,也请将系统日期和时间调整准确。

4、在I1、I2单元格分别输入1900、1901,然后同时选中I1、I2单元格,用“填充柄”向下拖拉至I151单元格,输入1900—2050年份序列。

同样的方法,在J1至J12单元格中输入1—12月份序列。

5、选中D13单元格,执行“数据→有效性”命令,打开“数据有效性”对话框(如图3),按“允许”右侧的下拉按钮,选中“序列”选项,在“来源”下面的方框输入:

=$I$1:

$I$151,“确定”退出。

同样的操作,将F15单元格数据有效性设置为“=$J$1:

$J$12”序列。

注意:

经过这样的设置以后,当我们选中D15(或F15)单元格时,在单元格右侧出现一个下拉按钮,按此下拉按钮,即可选择年份(或月份)数值,快速输入需要查询的年、月值。

6、选中A2单元格(不一定非得是A2哟),输入公式:

=IF(F13=2,IF(OR(D13/400=INT(D13/400),AND(D13/4=INT(D13/4),D13/100<>INT(D13/100))),29,28),IF(OR(F13=4,F13=6,F13=9,F13=11),30,31)),用于获取查询“月份”所对应的天数(28、29、30、31)。

注意:

上述函数的含义是:

如果查询“月份”为“2月”(F13=2)时,并且“年份”数能被400整除[D13/400=INT(D13/400)],或者(OR)“年份”能被4整除,但不能被100整除[AND(D13/4=INT(D13/4),D13/100<>INT(D13/100))],则该月为29天(也就是我们通常所说的“闰年”),否则为28天。

如果“月份”不是2月,但是“4、6、9、11”月,则该月为30天。

其他月份天数为31天。

7、选中B2单元格,输入公式:

=IF(WEEKDAY(DATE($D$13,$F$13,1),2)=B3,1,0)。

再次选中B2单元格,用“填充柄”将上述公式复制到C2—H2单元格中。

注意:

①上述B2公式的含义是:

如果“查询年月”的第1天是星期“7”(WEEKDAY(DATE)($D$13,$F$13,1),2)=B3)时,在该单元格显示“1”,反之显示“0”),为“查询年月”获取一个对照值,为下面制作月历做准备。

②上述C2—H2单元条中公式的含义与B2相似。

③在用拖拉法复制公式时,公式“绝对引用”的单元格(加了“$”号的,如“$D$13”等)不会发生改变,而“相对引用”的单元格(没有加“$”号的,如“B3”等),则会智能化地发生变化,例如在E2单元格中,“B3”变成了“E3”,整个公式成为:

=IF(WEEKDAY(DATE($D$13,$F$13,1),2)=E3,1,0)。

8、选中B6单元格,输入公式:

=IF(B2=1,1,0)。

选中B7单元格,输入公式:

=H6+1。

用“填充柄”将B7单元格中的公式复制到B8、B9单元格中。

分别选中B10、B11单元格,输入公式:

=IF(H9>=A2,0,H9+1)和=IF(H10>=A2,0,IF(H10>0,H10+1,0))。

选中C6单元格,输入公式:

=IF(B6>0,B6+1,IF(C2=1,1,0))。

用“填充柄”将C6单元格中的公式复制到D6—H6单元格中。

 

选中C7单元格,输入公式:

=B7+1。

用“填充柄”将C7单元格中的公式复制到C8、C9单元格中。

同时选中C7—C9单元格,用“填充柄”将其中的公式复制到D7—H9单元格中。

选中C10单元格,输入公式:

=IF(B11>=$A$2,0,IF(B11>0,B11+1,IF(C6=1,1,0)))。

用“填充柄”将C10单元格中的公式复制到D10—H10单元格和C11单元格中。

至此,整个万年历(其实没有万年,只有从1900—2050的151年)制作完成。

下面,我们一起来将其装饰一下。

9、选中相应的单元格,利用工具栏上的相应按钮,设置好字体、字号、字符颜色等。

选中相应的单元格,打开“单元格格式”对话框,在“对齐”标签下,设置好单元格中文本的对齐方式(通常情况下,垂直对齐可以一次性设置为“居中”,水平“对齐”根据具体情况设置)。

同时选中I列和J列,右击鼠标,选“隐藏”选项,将相应的列隐藏起来,使得界面更加友好。

用同样的方法,将第2和第3行也隐藏起来。

10、选中B5—H11单元格区域,打开“单元格格式”对话框,进入“边框”标签,选择好“颜色、样式”,并“预置”好边框范围,然后“确定”退出,为月历加上边框。

11、执行“工具→选项”命令,打开“选项”对话框(如图4),在“视图”标签下(通常是默认标签),清除“零值”和“网格线”复选框中的“∨”号,“确定”退出,让“零值”和“网格线”不显示出来。

12、将B14—H14和B15—H15单元格分别合并成一个单元格,并在B14和B15单元格中输入公式:

=IF(AND(MONTH(D1)=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(MONTH(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))))。

设置好B14和B15单元格的字体、字号、字符颜色。

注意:

上述公式的含义是:

如果当前日期逢到相关的节日(如“元旦”等),则在B14或B15单元格显示出相应的祝福语言(如“新的新气象!

加油呀!

”,参见图5)。

由于IF函数只能嵌套7层,而节日数量超过7个(我们这里给出了9个),因此,我们用两个单元格来显示。

  13、执行“格式→工作表→背景”命令,打开“工作表背景”对话框(如图6),选择一张合适的图片后,按“插入”按钮,将其衬于工作表文字下面。

14、在按住“Ctrl”键的同时,单击D13和F13单元格,同时选中两个单元格,开“单元格格式”对话框,切换“保护”标签(如图7),清除“锁定”前面复选框中的“∨”号,“确定”退出。

15、执行“工具→保护→保护工作表”命令,打开“保护工作表”对话框(如图8),两次输入密码后,确定退出。

注意:

经过这样的设置后,整个工作表中除了D13和F13单元格中的内容可以改变外,其它单元格中的内容均不能改变,保证了万年历的使用可靠性。

在VB中操纵Excel

一.Excel对象模块

Application

对象|集合

----------------------------------

|-----Assistant|----Addins(Addin)

|-----AutoComect|-----OLEDBErrors

|-----Debug|-----CommandBars(CommandBar)

|-----VBE|-----Dialogs(Dialog)

|-----WorksheetFunction|-----RecentFilds(RecentFile)

|-----DefaultWebOptions|-----Windows(Window)

|-----LanguageSettings|-----Workbooks(Workbook)

|-----Filesearch|------Names(name)

|-----AnswerWizard|------ODBCErrors

最上层的Application是指整个应用程序,其中最常用到的Workbooks代表活页簿集合,在其后的括号内的Workbook是指一个工作簿。

在VB中要打开Excel,首先要引用MicrosoftExcel9.0(或8.0)ObjectLobrary。

打开的步骤是:

(1)定义两个变量,数据类型指定为Excel.Application.Excel.Workbook.

(2)激活Excel应用程序。

(3)打开工作簿(我们假设在当前路径下有一个工作簿students.xls)。

代码如下:

OptionExplicit

PublicappExcelAsExcel.Application

PublicwbExcelAsExcel.Workbook

PrivateSubSetup_Excel_object()

SetappExcel=CreateObject("excel.application")

SetwbExcel=appExcel.Workbooks.Open(App.Path&"\students.xls")

appExcel.Visible=True'使对象可见

EndSub

二.工作表对象Worksheet

Workbooks对象有一个集合对象--工作表Worksheets,,用来放工作表相关的资料。

Workbooks(workbook)

对象|集合

------------------------

|----HTMLProjcet|----Publishobjects

|----RoutingSlip|----DocumentProperties

|----Areas|----Worksheets

|----WebOptions|----Names

|----VBProject|----CustomViews

|----CommandBars

|----PivotCaches

|----Windows

|----Styles

|----Charts

调用方法是声明一个工作表变量,用For-Each循环方式可以读取集合对象Workbooks里的所有工作表名。

代码如下:

DimtempAsExcel.Worksheet

ForEachtempInwbExcel.Worksheets'wbExcel是上面代码中声明的Workbook

FORM1.Combo1.AddItemtemp.Name

Next

三.读取工作表某个选取范围的内容。

要读取工作表某个范围单元格,可先定义一个Excel范围对象变量,然后使用Rows或Columns函数指定某行或某列的范围,范围单元格(Cells)地址以目前被选取范围为基准。

具体方法如下:

(1)设置工作表对象变量操作哪个工作表;

(2)选取工作表的某行或某列;

(3)在上面的选取范围内读取某个单元格内容。

代码如下:

DimTempsheetAsExcel.Worksheet'定义Excel工作表

DimTempRangeAsExcel.Range'定义Excel工作表范围变量

'第一步:

选取工作表Sheet1

SetTempsheet=appExcel.Worksheets("sheet1")

'第二步:

选取第二行(以这行为第一行)

SetTempRange=Tempsheet.Rows

(2)

'第三步:

读取范围内第一行.第二列的单元格

Text1.Text=TempRange.Cells(1,2)

四.其他

用TempRange.Find("").Column方法可以查找目前范围内第一行的第一个空白单元格

如何实现VB与EXCEL的无缝连接

2003-02-17··吴刚··yesky

  VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。

因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。

但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

  一、VB读写EXCEL表:

  VB本身提自动化功能可以读写EXCEL表,其方法如下:

  1、在工程中引用MicrosoftExcel类型库:

  从"工程"菜单中选择"引用"栏;选择MicrosoftExcel9.0ObjectLibrary(EXCEL2000),然后选择"确定"。

表示在工程中要引用EXCEL类型库。

  2、在通用对象的声明过程中定义EXCEL对象:

DimxlAppAsExcel.Application

DimxlBookAsExcel.WorkBook

DimxlSheetAsExcel.Worksheet

  3、在程序中操作EXCEL表常用命令:

SetxlApp=CreateObject("Excel.Application")'创建EXCEL对象

SetxlBook=xlApp.Workbooks.Open("文件名")'打开已经存在的EXCEL工件簿文件

xlApp.Visible=True'设置EXCEL对象可见(或不可见)

SetxlSheet=xlBook.Worksheets("表名")'设置活动工作表

xlSheet.Cells(row,col)=值'给单元格(row,col)赋值

xlSheet.PrintOut'打印工作表

xlBook.Close(True)'关闭工作簿

xlApp.Quit'结束EXCEL对象

SetxlApp=Nothing'释放xlApp对象

xlBook.RunAutoMacros(xlAutoOpen)'运行EXCEL启动宏

xlBook.RunAutoMacros(xlAutoClose)'运行EXCEL关闭宏

  4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。

形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。

  二、EXCEL的宏功能:

  EXCEL提供一个VisualBasic编辑器,打开VisualBasic编辑器,其中有一工程属性窗口,点击右键菜单的"插入模块",则增加一个"模块1",在此模块中可以运用VisualBasic语言编写函数和过程并称之为宏。

其中,EXCEL有两个自动宏:

一个是启动宏(SubAuto_Open()),另一个是关闭宏(SubAuto_Close())。

它们的特性是:

当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。

但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros(xlAutoClose)来运行启动宏和关闭宏。

  三、VB与EXCEL的相互勾通:

  充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:

  在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。

VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。

如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。

  四、举例:

  1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。

然后在其中输入如下程序:

DimxlAppAsExcel.Application'定义EXCEL类

DimxlBookAsExcel.Workbook'定义工件簿类

DimxlsheetAsExcel.Worksheet'定义工作表类

PrivateSubCommand1_Click()'打开EXCEL过程

 IfDir("D:

\temp\excel.bz")=""Then'判断EXCEL是否打开

  SetxlApp=CreateObject("Excel.Application")'创建EXCEL应用类

  xlApp.Visible=True'设置EXCEL可见

  SetxlBook=xlApp.Workbooks.Open("D:

\temp\bb.xls")'打开EXCEL工作簿

  Setxlsheet=xlBook.Worksheets

(1)'打开EXCEL工作表

  xlsheet.Activate'激活工作表

  xlsheet.Cells(1,1)="abc"'给单元格1行驶列赋值

  xlBook.RunAutoMacros(xlAutoOpen)运行EXCEL中的启动宏

 Else

  MsgBox("EXCEL已打开")

 EndIf

EndSub

PrivateSubCommand2_Click()

 IfDir("D:

\temp\excel.bz")<>""Then'由VB关闭EXCEL

  xlBook.RunAutoMacros(xlAutoClose)'执行EXCEL关闭宏

  xlBook.Close(True)'关闭EXCEL工作簿 

  xlApp.Quit'关闭EXCEL

 EndIf

 SetxlApp=Nothing'释放EXCEL对象

 End

EndSub

  2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。

  3、在"bb.xls"中打开VisualBasic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:

Subauto_open()

 Open"d:

\temp\excel.bz"ForOutputAs#1'写标志文件

 Close#1

EndSub

Subauto_close()

 Kill"d:

\temp\excel.bz"'删除标志文件

EndSub

  4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。

如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。

而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。

这样就实现了VB与EXCEL的无缝连接。

Excel制作奖金计算表

 2006年08月16日03:

52:

06  陈秀峰

 

 

 

源码下载

某公司规定:

一个月奖金基数为300元,病假1天扣15元,事假一天扣30元,旷工一天扣60元,扣完为止。

使用这个奖金计算表时,只要将员工的出勤情况记录在表中,该员工的奖金将自动计算出来,兼有考勤和计算奖金两种功能。

自动统计表做好以后还可以保存成模板,以便以后使用。

本文所涉及到的Excel函数有:

1、COUNTIF(Range,Criteria)

2、MONTH(serial_number)

3、TODAY()

注意:

图中符号的含义是:

B表示病假,S表示事假,G表示旷工,Q表示出勤,J表示法定休息日。

1、启动Excel2003,按照图1所示的样式,制作一张二维表格,并填入相关文本。

2、将A1至BM1单元格合并成一个单元格后,输入表格标题(如“晓风公司考勤及奖金表”),并设置好字体、字号等。

3、将C2和D2单元格合并后,输入公式:

=MONTH(TODAY())&"月",用于显示出当前的月份。

注意:

在上述单元格中直接输入月份数值也是可行的。

4、选中BM4单元格,输入公式:

=IF(300-COUNTIF(C4:

BL4,"B")*7.5-COUNTIF(C4:

BL4,"S")*15-COUNTIF(C4:

BL4,"G")*30>0,300-COUNTIF(C4:

BL4,"B")*7.5-COUNTIF(C4:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2