excel

合集下载

excel2016函数用法及应用

excel2016函数用法及应用

excel2016函数用法及应用Excel 2016是一款功能强大的电子表格软件,提供了丰富的函数库,用于处理和分析数据。

下面是一些常用的Excel 2016函数及其用法和应用示例:1. SUM函数:用于计算一组数值的总和。

示例:=SUM(A1:A10) 将计算A1到A10单元格中数值的总和。

2. A VERAGE函数:用于计算一组数值的平均值。

示例:=AVERAGE(A1:A10) 将计算A1到A10单元格中数值的平均值。

3. IF函数:根据给定的条件进行逻辑判断,返回不同的结果。

示例:=IF(A1>0, "正数", "负数") 如果A1大于0,则返回"正数",否则返回"负数"。

4. VLOOKUP函数:在一个区域范围内查找指定值,并返回相应的结果。

示例:=VLOOKUP(A1, B1:C10, 2, FALSE) 在B1到C10区域中查找A1的值,并返回对应的第二列的结果。

5. COUNT函数:统计一组数值中非空单元格的个数。

示例:=COUNT(A1:A10) 统计A1到A10单元格中非空单元格的个数。

6. CONCATENATE函数:将多个文本字符串合并为一个字符串。

示例:=CONCATENATE(A1, " ", B1) 将A1和B1单元格中的文本合并为一个字符串。

7. DATE函数:根据给定的年、月、日参数返回对应的日期。

示例:=DATE(2023, 12, 31) 返回2023年12月31日的日期。

这只是一小部分Excel 2016函数的示例,Excel提供了更多丰富的函数用于数据处理、统计分析、逻辑判断等。

你可以在Excel的帮助文档或在线资源中查找更多函数的详细用法和示例。

1。

EXCEL快捷键大全

EXCEL快捷键大全

EXCEL 快捷键大全一、常规操作:
●新建工作簿:Ctrl+N
●打开工作簿:Ctrl+O
●保存工作簿:Ctrl+S
●另存为:F12
●关闭工作簿:Ctrl+W
●撤销:Ctrl+Z
●重做:Ctrl+Y
●剪切:Ctrl+X
●复制:Ctrl+C
●粘贴:Ctrl+V
●选中全部:Ctrl+A
●查找:Ctrl+F
●替换:Ctrl+H
二、在工作表中导航:
●向上移动一个单元格:上箭头
●向下移动一个单元格:下箭头
●向左移动一个单元格:左箭头
●向右移动一个单元格:右箭头
●向右移动一个屏幕:PageDown
●向左移动一个屏幕:PageUp
●移动到工作表的开头:Ctrl+Home
●移动到工作表的末尾:Ctrl+End
●选择整列:Ctrl+Space
●选择整行:Shift+Space
二、编辑单元格:
●进入编辑模式:F2
●在单元格中换行:Alt+Enter
●完成编辑并移动到下一个单元格:Enter ●取消编辑并保留更改:Ctrl+Enter
●取消编辑并撤销更改:Esc
三、格式设置:
●打开格式单元格对话框:Ctrl+1
●斜体:Ctrl+I
●粗体:Ctrl+B
●下划线:Ctrl+U
●居中对齐:Ctrl+E
●左对齐:Ctrl+L
●右对齐:Ctrl+R
四、功能键:
●计算工作表:F9
●计算工作簿:Shift+F9
●插入函数:Shift+F3
●自动调整列宽:Alt+H,O,I
●自动调整行高:Alt+H,O,A。

EXCEL必用24种数值处理函数

EXCEL必用24种数值处理函数

一、数字处理1、取绝对值: =ABS(数字)2、取整: =INT(数字)3、四舍五入: =ROUND(数字,小数位数)4、取位数: =left(取值的数值,取值位数)=right(取值的数值,取值位数)=mid(取值的数值,取开始位置序号,取值位数)二、判断公式1、把公式产生的错误值显示为空公式:C2=IFERROR(A2/B2,"")说明:如果是错误值则显示为空,否则正常显示。

2、IF多条件判断返回值公式:C2=IF(AND(A2<500,B2="未到期"),"补款","")说明:两个条件同时成立用AND,任一个成立用OR函数。

三、统计公式1、统计两个表格重复的内容公式:B2=COUNTIF(Sheet15!A:A,A2)说明:如果返回值大于0说明在另一个表中存在,0则不存在。

2、统计不重复的总人数公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

四、求和公式1、隔列求和公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3)或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 说明:如果标题行没有规则用第2个公式2、单条件求和公式:F2=SUMIF(A:A,E2,C:C)说明:SUMIF函数的基本用法3、单条件模糊求和公式:详见下图说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。

4、多条件模糊求和公式:C11=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11)说明:在sumifs中可以使用通配符*5、多表相同位置求和公式:b2=SUM(Sheet1:Sheet19!B2)说明:在表中间删除或添加表后,公式结果会自动更新。

excel表格常用函数使用方法

excel表格常用函数使用方法

excel表格常用函数使用方法Excel是一款非常强大的电子表格软件,其中的函数是其重要的功能之一。

函数可以帮助我们快速计算数据、分析数据、处理数据等。

在这篇文章中,我将为大家介绍一些常用的Excel函数以及它们的使用方法。

1. SUM函数:求和函数SUM函数可以用来求一列或者一行数据的和。

使用方法如下:=SUM(A1:A10):求A1到A10单元格中的值的和。

=SUM(A1,A5,A10):求A1、A5和A10单元格的值的和。

2. AVERAGE函数:平均值函数AVERAGE函数可以用来求一列或者一行数据的平均值。

使用方法如下:=AVERAGE(A1:A10):求A1到A10单元格中的值的平均值。

=AVERAGE(A1,A5,A10):求A1、A5和A10单元格的值的平均值。

3. MAX函数和MIN函数:最大值函数和最小值函数MAX函数可以用来求一列或者一行数据的最大值,MIN函数可以用来求最小值。

使用方法如下:=MAX(A1:A10):求A1到A10单元格中的值的最大值。

=MIN(A1:A10):求A1到A10单元格中的值的最小值。

4. COUNT函数:计数函数COUNT函数用于计算一列或者一行数据中的非空单元格的个数。

使用方法如下:=COUNT(A1:A10):计算A1到A10单元格中非空单元格的个数。

5. IF函数:条件判断函数IF函数用于根据指定的条件进行判断,然后返回对应的结果。

使用方法如下:=IF(A1>10, "大于10", "小于等于10"):如果A1的值大于10,则返回"大于10",否则返回"小于等于10"。

6. VLOOKUP函数:垂直查找函数VLOOKUP函数用于在一个区域中根据指定的值进行垂直查找,并返回对应的值。

使用方法如下:=VLOOKUP(A1, B1:C10, 2, FALSE):在B1到C10的区域中查找A1的值,并返回对应的第二列的值。

Excel常用电子表格公式大全

Excel常用电子表格公式大全

英文列的公式为=LEFT(A1,2*LEN(A1)-LENB(A1))中文列的公式为=RIGHT(A1,LENB(A1)-LEN(A1))数字列为=MID(A1,1,6)1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。

2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。

3、从输入的18位身份证号的出生年月计算公式:=CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。

4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式:=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))公式内的“C2”代表的是输入身份证号码的单元格。

1、求和: =SUM(K2:K56) ——对K2到K56这一区域进行求和;2、平均数: =AVERAGE(K2:K56) ——对K2 K56这一区域求平均数;3、排名: =RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名;4、等级: =IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格")))5、学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩;6、最高分: =MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分;7、最低分: =MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分;8、分数段人数统计:(1) =COUNTIF(K2:K56,"100") ——求K2到K56区域100分的人数;假设把结果存放于K57单元格;(2) =COUNTIF(K2:K56,">=95")-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格;(3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格;(4)=COUNTIF(K2:K56,">=85")-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格;(5)=COUNTIF(K2:K56,">=70")-SUM(K57:K60) ——求K2到K56区域70~84.5分的人数;假设把结果存放于K61单元格;(6)=COUNTIF(K2:K56,">=60")-SUM(K57:K61) ——求K2到K56区域60~69.5分的人数;假设把结果存放于K62单元格;(7) =COUNTIF(K2:K56,"<60") ——求K2到K56区域60分以下的人数;假设把结果存放于K63单元格;说明:COUNTIF函数也可计算某一区域男、女生人数。

excel知识点总结归纳

excel知识点总结归纳

excel知识点总结归纳Excel是一款非常强大的电子表格软件,被广泛应用于各种领域,包括商业、金融、科学、教育等。

熟练掌握Excel可以提高工作效率,简化数据处理和分析过程。

本文将对Excel的一些重要知识点进行总结和归纳,帮助读者更好地理解和使用Excel。

一、基本操作1. 单元格和范围Excel的最基本单位是单元格,每个单元格都有一个唯一的地址,由列字母和行数字组成,如A1、B2等。

多个单元格组成的矩形区域称为范围。

在Excel中,我们可以通过单元格地址或范围来引用和操作数据。

2. 填写和编辑在Excel中,可以直接在单元格中填写数据,也可以通过公式、函数来生成数据。

要编辑单元格中的内容,可以双击单元格进入编辑模式,也可以在公式栏中进行编辑。

3. 插入和删除在Excel中,可以插入新的行、列或单元格,也可以删除已有的行、列或单元格。

插入和删除操作可以调整数据的布局和结构。

4. 复制和粘贴复制和粘贴是Excel中常用的操作,可以快速复制数据并粘贴到其他位置。

除了常规的复制和粘贴,还可以使用剪切、粘贴特殊等功能进行复制粘贴操作。

5. 排序和筛选排序可以按照指定的列对数据进行升序或降序排序,筛选可以按照指定条件筛选数据,筛选后只显示符合条件的数据。

6. 打印和导出Excel可以打印成表格形式,也可以导出成PDF、图片等格式。

在打印和导出时,可以设置打印范围、页面布局等参数。

二、公式和函数1. 公式在Excel中,通过输入公式可以进行数据的计算、处理和分析。

公式以等号“=”开头,可以使用运算符、函数、单元格引用等来完成各种复杂的计算。

2. 函数Excel内置了大量的函数,可以用于各种用途,如数学运算、逻辑判断、文本处理等。

常用的函数有SUM、AVERAGE、IF、VLOOKUP等,可以根据实际需求选择合适的函数来完成数据处理。

3. 自定义函数除了内置函数,Excel还支持自定义函数,用户可以编写VBA宏来实现自定义的函数逻辑。

excel


选择“编辑→ 移动或复制工作表”出现右 侧下对话框 如要复制工作表,则应勾选建立副本 方法二:将鼠标指向要移动的工作表 按住鼠标左键拖到目标位置。 如要复制工作表,则在拖动鼠标 的同时按下CTRL键。
5、隐藏和显示工作表 隐藏 选定要隐藏的工作表。 选择 格式→ 工作表→ 隐藏 显示 格式→ 工作表→ 取消隐藏 若要隐藏工作表中的行与列,可执行以下操作。 选定要隐藏的行或列,选择 格式→ 行(或列)→ 隐藏 如果要显示被隐藏的行(或)列,则应选择其上行和下行 (左列和右列) 选择 格式→ 行(或列)→ 取消隐藏。
工作薄和工作表的相关操作 一、工作薄 1N 2、打开(CTRL+O) 3、保存(CTRL+S) 加密保存:文件→ 另存为,弹出对话框 点击工具→ 常规选项。设置 打开与修改权限密码;或在 工具→ 选项→ 安全性选项中 设置。
二、工作表 1、插入工作表 方法一:使用菜单 选择一个工作表,新的工作表将会添加到选中 工作表之前。 选择 “插入”→ “工作表” 方法二:使用工作表标签 在“工作表标签”上单击鼠标右键,在弹出的 菜单中选择“插入”从列表框中选择“工作表” 图标。
3、日期与时间 ①日期 格式:年-月-日或年/月/日 默认当前日期:CTRL+; ②时间 24小时 12小时 22:00 10:00
默认当前时间:CTRL+SHIFT+; 4、批注(提示信息) (1)方法:定位 插入→ 批注
(2)批注显示方式 工具→ 选项→ 视图
(3)改变批注形状(同文本框) (4)删除批注 方法一:右击→ 删除批注 方法二:编辑→ 清除→ 批注 (5)编辑批注 方法:右击→ 编辑批注
MIN 最小值 AVERAGE 平均值
三、排序 方法:1、定位 2、数据→ 排序 (给出主次、第三关键字;指定升降序(可不同)指定标题 行是否参与排序) 四、筛选 功能:将满足指定条件的记录显示,还可将其复制到新位置。 分类:自动筛选;高级筛选 1、自动筛选 ①定位 ②数据→ 筛选→ 自动筛选 ③单击筛选标记

excel编程入门教程

excel编程入门教程1. 开始一个新的Excel工作表。

点击Excel应用程序图标以打开Excel。

在欢迎界面上,选择“新建”命令或直接点击空白工作表来开始一个新的工作簿。

2. 插入一个新的模块。

点击Excel菜单栏上的“开发工具”选项卡,然后点击“视觉基本编程器”按钮。

在Visual Basic for Applications(VBA)编辑器中,选择“插入”菜单中的“模块”选项。

3. 添加VBA代码。

在新插入的模块中,粘贴以下VBA代码:```VBASub HelloWorld()MsgBox "Hello World!"End Sub```4. 运行VBA代码。

点击Excel菜单栏上的“开发工具”选项卡,然后点击“宏”按钮。

选择刚刚添加的“HelloWorld”宏,并点击“运行”按钮。

一个弹出窗口将显示“Hello World!”的消息。

5. 创建一个自定义函数。

在VBA编辑器中,选择“插入”菜单中的“模块”选项。

粘贴以下VBA代码:```VBAFunction DoubleValue(ByVal value As Double) As DoubleDoubleValue = value * 2End Function```6. 使用自定义函数。

返回到Excel工作表,输入一个数字到单元格A1。

在单元格B1中输入以下公式:`=DoubleValue(A1)`按下Enter键,单元格B1将显示输入数字的两倍。

这是一个基本的Excel VBA编程入门教程,帮助您开始使用Excel的编程功能。

你可以继续学习更多高级的VBA编程技巧和Excel的其他功能来扩展你的编程能力。

excel 插入行 函数

excel 插入行函数## English Answer.### Insert Rows in Excel Using Functions.In Microsoft Excel, there are a few built-in functions that can be used to insert rows into a worksheet. These functions include:1. ROWS Function.The ROWS function returns the number of rows in a range of cells. This function can be used to insert a specific number of rows into a worksheet.For example, the following formula will insert 5 rows into the worksheet starting at row 10:=ROWS(A1:A10) + 5。

2. ROW Function.The ROW function returns the row number of the cell that contains the function. This function can be used to insert a row into a worksheet at a specific location.For example, the following formula will insert a row into the worksheet at row 10:=ROW() + 10。

3. OFFSET Function.The OFFSET function returns a range of cells that is a specified number of rows and columns from a given cell. This function can be used to insert a row into a worksheet at a specific location.For example, the following formula will insert a row into the worksheet at row 10, starting at column A:=OFFSET(A1, 10, 0)。

Excel使用方法详解

Excel使用方法详解Excel是一款功能强大的电子表格软件,广泛应用于各个领域,包括商业、金融、科学研究等。

它不仅可以进行数据的录入和计算,还可以进行数据的分析和可视化呈现。

在本文中,我们将详细介绍Excel的使用方法,以帮助读者更好地利用这款工具。

一、基本操作1. 打开Excel:双击Excel图标或在开始菜单中选择Excel即可打开软件。

2. 新建工作簿:打开Excel后,可以选择新建一个空白工作簿或打开已有的工作簿。

3. 插入数据:在Excel的工作表中,可以直接在单元格中输入数据。

可以使用方向键、Tab键或回车键在不同单元格之间进行切换。

4. 修改数据:选中要修改的单元格,直接在输入栏中修改数据,然后按下回车键即可保存修改。

5. 保存工作簿:在文件菜单中选择“保存”或使用快捷键Ctrl + S可以保存工作簿。

可以选择保存的位置和文件名。

二、数据处理1. 公式计算:Excel可以进行各种数学运算和公式计算。

在需要计算的单元格中输入公式,以“=”开头,然后按下回车键即可得到计算结果。

2. 函数应用:Excel提供了各种内置函数,可以方便地进行数据处理和分析。

在需要应用函数的单元格中输入函数名和参数,然后按下回车键即可得到函数的结果。

3. 数据筛选:在Excel中,可以使用筛选功能对数据进行筛选和排序。

选择需要筛选的数据范围,点击“数据”菜单中的“筛选”按钮,然后按照需要设置筛选条件即可。

4. 数据透视表:数据透视表是Excel中非常有用的功能,可以对大量数据进行汇总和分析。

选择需要生成数据透视表的数据范围,点击“插入”菜单中的“数据透视表”按钮,然后按照向导进行设置即可生成数据透视表。

三、数据可视化1. 图表绘制:Excel提供了各种图表类型,可以将数据以图表的形式进行可视化呈现。

选择需要绘制图表的数据范围,点击“插入”菜单中的“图表”按钮,然后选择合适的图表类型进行绘制。

2. 图表格式设置:绘制完图表后,可以对图表进行格式设置,包括标题、轴标签、图例等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一:纸牌游戏启动Excel程序,依次点击工具栏中“工具/自定义”菜单,切换至“命令”标签页,选中左侧“类别”栏中的“工具”菜单,向下拖动右侧“命令”栏侧边滑块,找到带有纸牌图形的“自定义”选项(如图),将它拖至Excel工具栏中,点击“关闭”按钮将“自定义”对话框关闭。

现在,Excel 工具栏中就多了一个纸牌按钮,点击该按钮,熟悉的纸牌游戏界面就出现在你面前了。

二:MicroSoft Excel 2000 暗藏赛车游戏1.开启Excel之后随便开一新文档,将它『另存成Web画面』,按下发布后再将“添加交互对象”打勾,将档案储存为car.htm(文件名可自取)。

2.在IE中开启car.htm,你应该会看到电子表格出现在网页中央,如图1:图13.在这个工作表中,先用PageDown键移动工作表的矩形光标直至第2000行,注意只能用PageDown键,然后用Tab键横向向右移动光标直至WC列,也是只能用键操作,到此,所有的准备工作已经完毕,该是调出游戏的时候了。

4.同时按住Shift+Crtl+Alt 然后点选左上方的 Office logo 。

5.开始玩了,如图2:图26.玩法提示: 玩游戏的时候,被你控制的是那一辆浅蓝色的汽车,操作的主要是四个箭头按键。

作用是:左右箭头可以控制汽车的方向:向上箭头可以加速,向下的箭头减速;如果汽车运行到了夜间,可用H键打开车灯。

绝对好玩!三:数字华容道'先说个简单的。

大家玩过那个数字华容道吧,就是有N*N个格,有一格是空的,其他格是次序混乱的拼图或数字,游戏的目的就是利用这唯一的这个空格移动各块拼图把混乱的拼图(数字)恢复(顺序)。

这里我们小游戏的目的是要把1至15这15个次序混乱的数字恢复从1到15的顺序排列。

'打开Excel后打开代码编写器(Alt + F11),将如下代码写入模块中。

程序首先是初始化。

定义变量,选择4*4的空格,调整表格大小,改变单元格颜色(标示出游戏区域),然后是让1到15非重复随机分布到前15格空格中:Public Const PW = "" '本游戏由Excel吧bengdeng整理!Public Running As Boolean '用于判断游戏是否进行中,如果要中途退出或玩家需要重玩用此变量控制Public SRan As Range '游戏左上单元格Public BRan As Range '游戏空格单元格Public N As Integer '游戏区域大小Public GRan As Range '游戏区域,这里由N与SRan生成Public Bs As Integer '游戏步数Public STime As Date '游戏开始时间Sub GameStar()Dim i As IntegerDim ii As IntegerDim temp As IntegerDim a(14) As IntegerDim down As VbMsgBoxResult'判断游戏是否在运行If Running Thendown = MsgBox("游戏正在进行!是否重玩?", vbYesNo, "提示 - " & PW)If down = vbNo Then Exit SubEnd IfRunning = TrueN = 4 '设定游戏区域为4*4Set SRan = Range("E5") '设定游戏开始单元格为E5Set BRan = SRan.Offset(N - 1, N - 1) '设定游戏空单元格Set GRan = Range(SRan, BRan)'游戏区域(颜色)初始化,省略了单元格大小的调整,大家可以应该加入相应语句让游戏外观整齐If ActiveSheet.ProtectContents Then ActiveSheet.Unprotect Password:=PWGRan.ClearContentsGRan.Interior.ColorIndex = 35'随机数数组初始化,这里是编号0到编号14共15个数For i = 0 To (N * N - 2)a(i) = i + 1Next i'不重复随机分布各数For i = N * N - 2 To 0 Step -1Randomizeii = Int(Rnd * i)temp = a(i)a(i) = a(ii)GRan.Item(i + 1) = a(i)a(ii) = tempNext iBs = 0STime = Now()ActiveSheet.Protect Password:=PWEnd Sub'很明显,Excel的单元格是游戏的主角。

初始化后游戏开始,逻辑很简单:玩家每单击一个单元格(产生Workbook中的SheetSelectionChange事件),游戏就判断这个格是否在游戏区域中,若是就判断上下左右4个方向是否有空格,如果有空格就把原单元格中的数传到空格中,原单元格清空(空格与原单元格交换),然后判断游戏是否结束(1到15顺序排序了?),若还没有,什么都不做,等下一次单击事件发生。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)Dim down As VbMsgBoxResultDim i As IntegerIf Running Then'所单击单元格是否就是空格If Len(ActiveCell) > 0 Then'所单击单元格是否在游戏区域If Not (Application.Intersect(ActiveCell, GRan) Is Nothing) Then'所单击单元格上下左右是否有空格If ((Abs(BRan.Column - ActiveCell.Column) <= 1 And BRan.row = ActiveCell.row) Or (Abs(BRan.row - ActiveCell.row) <= 1 And BRan.Column = ActiveCell.Column)) Then'单元格与空格交换If ActiveSheet.ProtectContents Then ActiveSheet.Unprotect Password:=PWBRan = ActiveCellActiveCell.ClearContentsSet BRan = ActiveCellBs = Bs + 1ActiveSheet.Protect Password:=PW'判断游戏是否结束?i = 1Do While (i < N * N And GRan.Item(i) = i)i = i + 1LoopIf i = N * N ThenMsgBox "祝贺你!你成功了!" & vbCrLf & _"一共用了" & Bs & "步!" & vbCrLf & _"一共用用时" & Format(Now - STime, "h:m:s"), , PWRunning = FalseEnd IfEnd IfEnd IfEnd IfElsedown = MsgBox("游戏还未进行,是否开始?", vbYesNo, "提示 - " & PW)If down = vbYes Then GameStarEnd IfEnd Sub四:跑跑卡丁车.xls网上到处可下!注:打开Excel后,若不能玩,点菜单栏上的工具→宏→安全性,将安全级别设为低,便可以玩了五:贪吃蛇源码首先要解决游戏显示的问题。

对我们来说,小游戏最好的平台是Excel的工作区,由于大小可调、颜色可填的单元格操作方便,我们完全可以把它们当像素来使用。

于是我们的贪吃蛇游戏就有了以单元格为基础的像素形式的显示方式了。

其次是游戏的控制方法。

在这里我摸索了好久,其中走了弯路不说,我最后的结论是在Excel中要实现按键事件的方法是引入窗体,然后在窗体中响应Keydown与Keypress事件。

这样的话,既可以快速响应还可以根据情况修改对应按键。

最后是游戏的定时问题。

所有的游戏事实上都是在一个时间大循环里面定时接收输入信息更新状态的程序,我们的小游戏都不例外。

老实说,我写这个游戏大部分的思考时间就浪费在如何实现游戏定时这里。

Excel的VBA中与定时有关的只有onTime函数,没有其他相关函数提供了,onTime函数可以实现某一事件在指定时间发生,但只能以秒为最小单位,对我们要在一秒内更新数十次信息的小游戏不适合,我们只能另找方法。

用过VB的人都知道VB控件中有个定时控件,用它来实现游戏定时是最好的,但在Excel中却没有,难道我要把VB中的定时控件移植到VBA中?这也是个很值得研究的课题,但是我想到了另外的方法。

VB的程序员都知道要想VB程序发挥大作用一定离不开调用系统的API,于是我查看了系统相关API的帮助,发现系统API中实现相应功能的有settimer与killtimer函数,具体定义和用法大家可以参考相关帮助,但从字面大家都已经可以知道它们就是我们要找的东西了。

那么现在的问题就是如何在vba环境下调用系统API。

心想微软称vba就是office中的vb,那么在vba中调用系统API应该也与在VB中的一样。

一试,呵呵,果然非虚,这微软真不是盖的(后在msdn中发现ms office vba从2000版本开始支持调用系统API,大家可以拓展office应用了)。

就这样游戏输入、输出、逻辑定时的问题都解决了,我们的吃蛇游戏就仅剩下算法逻辑部分了。

我们的游戏逻辑是,游戏初始化后,启动定时器。

在每次定时循环中,程序分别实现蛇头移动与蛇尾移动。

首先是移动蛇头,游戏判断在移动方向上蛇头下一个的位置是否为空格,若是则把这位置的空格填上颜色(蛇头移动),蛇尾移动标志设为真;如果蛇头下一个位置不是空格(即有食物),则把这位置的空格填上颜色(蛇头移动)后把蛇尾移动标志设为假。

接着到蛇尾移动部分,若蛇尾移动标志为真则把蛇尾原所在单元格填回白色(蛇尾移动),并更新蛇尾位置;如果蛇尾移动标志为假,则什么都不做(蛇尾不动蛇头动,蛇身长了)。

相关文档
最新文档