Excel中,VBA如何删除一个Sheet而不弹出确认对话框

凌波微搏 2005-07-04 02:28:11
在VBA中每次删除一个Sheet就要弹出确认对话框,这样太不好了。如何在删除一个Sheet的时候不弹出确认对话框?
...全文
2694 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lonelywolf1899 2005-07-04
  • 打赏
  • 举报
回复
楼上的完全正确!
icansaymyabc 2005-07-04
  • 打赏
  • 举报
回复
Sub aaaa() '删除活动工作簿的 Sheet1 工作表,并且不显示确认对话框。
Application.DisplayAlerts = False
Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
End Sub
'但是不推荐你这样做,你的整个工作表将悄无声息就不见了,危险性太大
以前用Excel2003做了些宏,在网上还有不少粉丝,因一些功能在Excel2010无法使用,故重新整理,欢迎指正; 本Excel的宏在Excel2010测试表现色; 运行宏前,要保证EXCEL没有禁用宏。 Michael Ho QQ: 9900060 ----------------------- 本Excel有以下功能: 插入图片1 1.点击执行后,会现文件夹选择窗,请选择你JPG图片所在文件夹(选择“文件夹”而不是选择文件); 2.宏会自动复制Sheet2到新工作簿,并插入你所选文件夹的全部JPG图片到B列,对应的图片名自动填到C列; 3.图片的大小会自动适应Sheet2的B3单元格,因此可以在点击执行前调整Sheet2的B3单元格的大小来控制插入图片的大小。 -------- 插入图片2 1.点击执行后,会现文件夹选择窗,请选择你JPG图片所在文件夹(选择“文件夹”而不是选择文件); 2.宏会自动复制Sheet3到新工作簿,并插入你所选文件夹的全部JPG图片制作图册,对应的图片名自动填到图片下方; -------- 插入图片3 如果用户自己的Excel文件有一列是型号,该宏可以插入指定文件夹里以型号命名的JPG图片到另一列; 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+I (或在你的文件手动执行宏,然后选择本EXCEL文件的宏InsertPic3); 4.然后会现文件夹选择窗,请选择你JPG图片所在文件夹(选择“文件夹”而不是选择文件); 5.在弹对话框指定型号在第几列,图片要插入到第几列,以及从哪一行开始; 6.图片的大小会自动适应你设定的第一行要插入图片的单元格,因此提前调整那个单元格的大小可以控制插入图片的大小。 ------------- 删除活动工作表所有图片 Ctrl+d 删除活动工作表里所有的JPG图片,(不一定是本工作簿的工作表); 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+d (或在你的文件手动执行宏,然后选择本EXCEL文件的宏DelPic); ------------- 导活动工作表被选的一张JPG图片 Ctrl+e 导活动工作表被选的一张JPG图片,(不一定是本工作簿的工作表); 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.请选一张要导的图片; 4.在你的文件按Ctrl+e (或在你的文件手动执行宏,然后选择本EXCEL文件的宏OutputOnePic); 5.在弹对话框指定图片要保存的名字; 1.不管图片在Excel是否被缩放过,导的图片是按图片的原始尺寸进行保存。 2.在桌面上会自动新建一个"OutputPic"的文件夹,导的图片将会存在那个文夹里; 3.如果文件夹已有相同名字的文件,则后面导的文件会自动加上(v1), (v2), (v3)... ------------- 导活动工作表所有JPG图片 Ctrl+f 导活动工作表所有JPG图片,并且图片名自动使用指定列的图片名; 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+f (或在你的文件手动执行宏,然后选择本EXCEL文件的宏OutputAllPic); 4.在弹对话框指定图片所在列,图片名所在的列; 1.不管图片在Excel是否被缩放过,导的图片是按图片的原始尺寸进行保存; 2.在桌面上会自动新建一个"OutputPic"的文件夹,所有导的图片将会存在那个文夹里; 3.如果文件夹已有相同名字的文件,则后面导的文件会自动加上(v1), (v2), (v3)... ---------------- 对指定文件夹的JPG图片进行重命名 Ctrl+r 利用活动工作表的所有图片的旧名与新名的对照,对指定文件夹JPG图片进行重命名; 1.打开本Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件按Ctrl+r (或在你的文件手动执行宏,然后选择本EXCEL文件的宏RenamePic); 4.在弹对话框指定图片旧名所在列和图片新名所在的列; 1.可以结合插入图片的宏,将所有图片的旧名输入到Excel,再在另一列填上新图片名,然后使用该宏。 2.如果顺利运行,会在原来那个文件夹下面新建一个叫“New”的子文件夹,所有重命好名的图片会自动放入子文件夹里; 3.如果文件夹已有相同名字的文件,则后面的文件会覆盖原来的文件。
(1) 分数的输入如果直接输入“1/5”,系统会将其变为“1月5日”,解决办法是:先输入“0”,然后输入空格,再输入分数“1/5”。(2) 序列“001”的输入如果直接输入“001”,系统会自动判断001为数据1,解决办法是:首先输入“'”(西文单引号),然后输入“001”。(3) 日期的输入如果要输入“4月5日”,直接输入“4/5”,再敲回车就行了。如果要输入当前日期,按一下“Ctrl+;”键。(4) 填充条纹如果想在工作簿加入漂亮的横条纹,可以利用对齐方式的填充功能。先在一单元格内填入“*”或“~”等符号,然后单击此单元格,向右拖动鼠标,选横向若干单元格,单击“格式”菜单,选“单元格”命令,在弹的“单元格格式”菜单,选择“对齐”选项卡,在水平对齐下拉列表选择“填充”,单击“确定”按钮(如图1)。图1(5) 多张工作表输入相同的内容几个工作表同一位置填入同一数据时,可以选一张工作表,然后按住Ctrl键,再单击窗口左下角的Sheet1、Sheet2......来直接选择需要输入相同内容的多个工作表,接着在其的任意一个工作表输入这些相同的数据,此时这些数据会自动现在选的其它工作表之。输入完毕之后,再次按下键盘上的Ctrl键,然后使用鼠标左键单击所选择的多个工作表,解除这些工作表的联系,否则在一张表单输入的数据会接着现在选的其它工作表内。(6) 不连续单元格填充同一数据选一个单元格,按住Ctrl键,用鼠标单击其他单元格,就将这些单元格全部都选了。在编辑区输入数据,然后按住Ctrl键,同时敲一下回车,在所有选的单元格现了这一数据。(7) 在单元格显示公式如果工作表的数据多数是由公式生成的,想要快速知道每个单元格的公式形式,以便编辑修改,可以这样做:用鼠标左键单击“工具”菜单,选取“选项”命令,现“选项”对话框,单击“视图”选项卡,接着设置“窗口选项”栏下的“公式”项有效,单击“确定”按钮(如图2)。这时每个单元格的分工就显示来了。如果想恢复公式计算结果的显示,就再设置“窗口选项”栏下的“公式”项失效即可。图2(8) 利用Ctrl+*选取文本如果一个工作表有很多数据表格时,可以通过选定表格某个单元格,然后按下Ctrl+*键可选定整个表格。Ctrl+*选定的区域为:根据选定单元格向四周辐射所涉及到的有数据单元格的最大区域。这样我们可以方便准确地选取数据表格,并能有效避免使用拖动鼠标方法选取较大单元格区域时屏幕的乱滚现象。(9) 快速清除单元格的内容如果要删除内容的单元格的内容和它的格式和批注,就不能简单地应用选定该单元格,然后按Delete键的方法了。要彻底清除单元格,可用以下方法:选定想要清除的单元格或单元格范围;单击“编辑”菜单“清除”项的“全部”命令,这些单元格就恢复了本来面目。2、单元格内容的合并根据需要,有时想把B列与C列的内容进行合并,如果行数较少,可以直接用“剪切”和“粘贴”来完成操作,但如果有几万行,就不能这样办了。解决办法是:在C行后插入一个空列(如果D列没有内容,就直接在D列操作),在D1输入“=B1&C1;”,D1列的内容就是B、C两列的和了。选D1单元格,用鼠标指向单元格右下角的小方块“■”,当光标变成"+"后,按住鼠标拖动光标向下拖到要合并的结尾行处,就完成了B列和C列的合并。这时先不要忙着把B列和C列删除,先要把D列的结果复制一下,再用“选择性粘贴”命令,将数据粘贴到一个空列上。这时再删掉B、C、D列的数据。下面是一个“&”实际应用的例子。用AutoCAD绘图时,有人喜欢在EXCEL存储坐标点,在绘制曲线时调用这些参数。存放数据格式为“x,y”的形式,首先在Excel输入坐标值,将x坐标值放入A列,y坐标值放入到B列,然后利用“&”将A列和B列合并成C列,在C1输入:=A1&","&B1;,此时C1的数据形式就符合要求了,再用鼠标向下拖动C1单元格,完成对A列和B列的所有内容的合并(如图3-4)。合并不同单元格的内容,还有一种方法是利用CONCATENATE函数,此函数的作用是将若干文字串合并到一个字串,具体操作为“=CONCATENATE(B1,C1)”。比如,假设在某一河流生态调查工作表,B2包含“物种”、B3包含“河鳟鱼”,B7包含总数45,那么: 输入“=CONCATENATE("本次河流生态调查结果:",B2,"",B3,"为",B7,"条/公里。")” 计算结果为:本次河流生态调查结果:河鳟鱼物种为45条/公里。图3图43、条件显示我们知道,利用If函数,可以实现按照条件显示。一个常用的例子,就是教师在统计学生成绩时,希望输入60以下的分数时,能显示为“不及格”;输入60以上的分数时,显示为“及格"。这样的效果,利用IF函数可以很方便地实现。 假设成绩在A2单元格,判断结果在A3单元格。那么在A3单元格输入公式: =if(A2<60,“不及格”,“及格”) 同时,在IF函数还可以嵌套IF函数或其它函数。例如,如果输入: =if(A2<60,“不及格”,if(A2<=90,“及格”,“优秀")) 就把成绩分成了三个等级。如果输入=if(A2<60,“差",if(A2<=70,“”,if(A2<90,“良”,“优”))) 就把成绩分为了四个等级。再比如,公式: =if(SUM(A1:A5>0,SUM(A1:A5),0) 此式就利用了嵌套函数,意思是,当A1至A5的和大于0时,返回这个值,如果小于0,那么就返回0。 还有一点要提醒你注意:以上的符号均为半角,而且IF与括号之间也不能有空格。4、自定义格式Excel预设了很多有用的数据格式,基本能够满足使用的要求,但对一些特殊的要求,如强调显示某些重要数据或信息、设置显示条件等,就要使用自定义格式功能来完成。 Excel的自定义格式使用下面的通用模型:正数格式,负数格式,零格式,文本格式,在这个通用模型,包含三个数字段和一个文本段:大于零的数据使用正数格式;小于零的数据使用负数格式;等于零的数据使用零格式;输入单元格的正文使用文本格式。 我们还可以通过使用条件测试,添加描述文本和使用颜色来扩展自定义格式通用模型的应用。(1)使用颜色 要在自定义格式的某个段设置颜色,只需在该段增加用方括号括住的颜色名或颜色编号。Excel识别的颜色名为:[黑色]、[红色]、[白色]、[蓝色]、[绿色]、[青色]和[洋红]。Excel也识别按[颜色X]指定的颜色,其X是1至56之间的数字,代表56种颜色(如图5)。图5(2)添加描述文本 要在输入数字数据之后自动添加文本,使用自定义格式为:"文本内容"@;要在输入数字数据之前自动添加文本,使用自定义格式为:@"文本内容"。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。(3)创建条件格式 可以使用六种逻辑符号来设计一个条件格式:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、=(等于)、<>(不等于),如果你觉得这些符号不好记,就干脆使用“>”或“>=”号来表示。由于自定义格式最多只有3个数字段,Excel规定最多只能在前两个数字段包括2个条件测试,满足某个测试条件的数字使用相应段指定的格式,其余数字使用第3段格式。如果仅包含一个条件测试,则要根据不同的情况来具体分析。自定义格式的通用模型相当于下式:[>;0]正数格式;[<;0]负数格式;零格式;文本格式。下面给一个例子:选一列,然后单击“格式”菜单的“单元格”命令,在弹对话框选择“数字”选项卡,在“分类”列表选择“自定义”,然后在“类型”文本框输入“"正数:"($#,##0.00);"负数:"($ #,##0.00);"零";"文本:"@”,单击“确定”按钮,完成格式设置。这时如果我们输入“12”,就会在单元格显示“正数:($12.00)”,如果输入“-0.3”,就会在单元格显示“负数:($0.30)”,如果输入“0”,就会在单元格显示“零”,如果输入文本“this is a book”,就会在单元格显示“文本:this is a book”。 如果改变自定义格式的内容,“[红色]"正数:"($#,##0.00);[蓝色]"负数:"($ #,##0.00);[黄色]"零";"文本:"@”,那么正数、负数、零将显示为不同的颜色。如果输入“; ;[Yellow];[Green]”,那么正数、负数、零和文本将分别显示上面的颜色(如图6)。图6 再举一个例子,假设正在进行帐目的结算,想要用蓝色显示结余超过$50,000的帐目,负数值用红色显示在括号,其余的值用缺省颜色显示,可以创建如下的格式: “[蓝色][>50000] $#,##0.00_);[红色][<0]( $#,##0.00); $#,##0.00_)” 使用条件运算符也可以作为缩放数值的强有力的辅助方式,例如,如果所在单位生产几种产品,每个产品只要几克某化合物,而一天生产几千个此产品,那么在编制使用预算时,需要从克转为千克、吨,这时可以定义下面的格式: “[>999999]#,##0,,_m"吨"";[>999]##,_k_m"千克";#_k"克"” 可以看到,使用条件格式,千分符和均匀间隔指示符的组合,不用增加公式的数目就可以改进工作表的可读性和效率。另外,我们还可以运用自定义格式来达到隐藏输入数据的目的,比如格式";##;0"只显示负数和零,输入的正数则不显示;格式“;;;”则隐藏所有的输入值。 自定义格式只改变数据的显示外观,并不改变数据的值,也就是说不影响数据的计算。灵活运用好自定义格式功能,将会给实际工作带来很大的方便。5、绘制函数图象做教学工作的朋友们一定会遇到画函数曲线的问题吧!如果想快速准确地绘制一条函数曲线,可以借助EXCEL的图表功能,它能使你画的曲线既标准又漂亮。你一定会问,是不是很难学呀?其实这一点儿也不难,可以说非常简便,不信你就跟我试一试。以绘制y=|lg(6+x^3)|的曲线为例,其方法如下: 在某张空白的工作表,先输入函数的自变量:在A列的A1格输入"X=",表明这是自变量,再在A列的A2及以后的格内逐次从小到大输入自变量的各个值;实际输入的时候,通常应用等差数列输入法,先输入前二个值,定自变量数与数之间的步长,然后选A2和A3两个单元格,使这二项变成一个带黑色边框的矩形,再用鼠标指向这黑色矩形的右下角的小方块“■”,当光标变成"+"后,按住鼠标拖动光标到适当的位置,就完成自变量的输入。输入函数式:在B列的B1格输入函数式的一般书面表达形式,y=|lg(6+x^3)|;在B2格输入“=ABS(LOG10(6+A2^3))”,B2格内马上得了计算的结果。这时,再选B2格,让光标指向B2矩形右下角的“■”,当光标变成"+"时按住光标沿B列拖动到适当的位置即完成函数值的计算。图7绘制曲线:点击工具栏上的“图表向导”按钮,选择“X,Y散点图”(如图7),然后在现的“X,Y散点图”类型选择“无数据点平滑线散点图”;此时可察看即将绘制的函数图像,发现并不是我们所要的函数曲线,单击“下一步”按钮,选“数据产生在列”项,给数据区域,这时曲线就在我们面前了(如图8)。图8需要注意:如何确定自变量的初始值,数据点之间的步长是多少,这是要根据函数的具体特点来判断,这也是对使用者能力的检验。如果想很快查到函数的极值或看其发展趋势,给的数据点也不一定非得是等差的,可以根据需要任意给定。从简单的三角函数到复杂的对数、指数函数,都可以用EXCEL曲线。如果用得到,你还可以利用EXCEL来完成行列式、矩阵的各种计算,进行简单的积分运算,利用迭代求函数值(如x^2=x^7+4,可用迭代方法求x值),等等,凡是涉及计算方面的事,找EXCEL来帮忙,它一定会给你一个满意的答案。6、自定义函数虽然Excel已有大量的内置函数,但有时可能还会碰到一些计算无函数可用的情况。假如某公司采用一个特殊的数学公式计算产品购买者的折扣,如果有一个函数来计算岂不更方便?下面就说一下如何创建这样的自定义函数。自定义函数,也叫用户定义函数,是Excel最富有创意和吸引力的功能之一,下面我们在Visual Basic模块创建一个函数。 在下面的例子,我们要给每个人的金额乘一个系数,如果是上班时的工作餐,就打六折;如果是加班时的工作餐,就打五折;如果是休息日来就餐,就打九折。首先打开“工具”菜单,单击“宏”命令的“Visual Basic编辑器”,进入Visual Basic编辑环境,在“工程-VBAobject”栏的当前表上单击鼠标右键,选择“插入”-“模块”,在右边栏创建下面的函数rrr,代码如下: Function rrr(tatol, rr) If rr = "上班" Then rrr = 0.6 * tatol ElseIf rr = "加班" Then rrr = 0.5 * tatol ElseIf rr = "休息日" Then rrr = 0.9 * tatol End If End Function (如图9)。图9这时关闭编辑器,只要我们在相应的列输入rrr(F2,B2),那么打完折后的金额就算来了(如图10)。图107、矩阵计算Excel的强大计算功能,不但能够进行简单的四则运算,也可以进行数组、矩阵的计算。(1)数组和矩阵的定义矩阵不是一个数,而是一个数组。在Excel里,数组占用一片单元域,单元域用大括号表示,例如{A1:C3},以便和普通单元域A1:C3相区别。设置时先选定单元域,同时按Shift+Ctrl+Enter键,大括弧即自动产生,数组域得以确认一个单元格就是一个变量,一片单元域也可以视为一组变量。为了计算上的方便,一组变量最好给一个数组名。例如A={A1:C3}、B={E1:G3}等。数组名的设置步骤是:选定数组域,单击“插入”菜单,选择“名称”项的“定义”命令,输入数组名,单击“确定”按钮即可。更简单的命名办法为:选择数组域,单击名称框,直接输入名称就行了。矩阵函数是Excel进行矩阵计算的专用模块。用“插入”-“函数”命令打开“粘贴函数”对话框(如图11),选函数分类栏的“数学与三角函数”,在右边栏常用的矩阵函数有: MDETERM——计算一个矩阵的行列式; MINVERSE——计算一个矩阵的逆矩阵; MMULT——计算两个矩阵的乘积; SUMPRODUCT——计算所有矩阵对应元素乘积之和。图11(2)矩阵的基本计算数组计算和矩阵计算有很大的区别,比如下面这个例子,A和B都是定义好的数组,因为这两个数组都是3×3的,输结果也是3×3个单元格。计算时先选定矩阵计算结果的输域,为3×3的单元格区域,然后输入公式。如果输入“=A+B”或“=A-B”,计算结果是数组对应项相加或相减,输入“=A*B”表示数组A和B相乘,输入“=A/B”表示数组A除数组B。如果要进行矩阵计算,就要用到相应的矩阵函数。矩阵相加、相减与数组的加减表达形式是一样的,也是“=A+B”和“=A-B”,表示矩阵相乘可以输入“=MMULT(A,B)”,而矩阵相除是矩阵A乘B的逆矩阵,所以计算公式是“=MMULT(A,MINVERSE(B))”。公式输入后,同时按Shift+Ctrl+Enter键得到计算结果。 对于更复杂的矩阵计算,可以采用分步计算。8、自动切换输入法在一张工作表,往往是既有数据,又有文字,这样在输入时就需要来回在英文之间反复切换输入法,非常麻烦。 如果你要输入的东西很有规律性,比如这一列全是单词,下一列全是汉语解释,你可以用以下方法实现自动切换。方法是:(1)选要输入英文的列,单击“数据”菜单,选择“有效性...”命令,在弹的“数据有效性”对话框,选“输入法模式”选项卡,在“模式”框选择“关闭(英文模式)”命令,单击“确定”按钮(如图12)。图12(2)选要输入汉字的列,在“有效数据”对话框,单击“IME模式”选项卡,在“模式”框选择“打开”命令,单击“确定”按钮。这样,当光标在前一列时,可以输入英文,在下一列时,直接可以输入文,从而实现了英文输入方式之间的自动切换。9、批量删除空行有时我们需要删除Excel工作薄的空行,一般做法是将空行一一找,然后删除。如果工作表的行数很多,这样做就非常不方便。我们可以利用“自动筛选”功能,把空行全部找到,然后一次性删除。 做法:先在表插入新的一个空行,然后按下Ctrl+A键,选择整个工作表,用鼠标单击“数据”菜单,选择“筛选”项的“自动筛选”命令。这时在每一列的顶部,都一个下拉列表框,在典型列的下拉列表框选择“空白”,直到页面内已看不到数据为止(如图13)。图13在所有数据都被选的情况下,单击“编辑”菜单,选择“删除行”命令,然后按“确定”按钮。这时所有的空行都已被删去,再单击“数据”菜单,选取“筛选”项的“自动筛选”命令,工作表的数据就全恢复了。插入一个空行是为了避免删除第一行数据。如果想只删除某一列的空白单元格,而其它列的数据和空白单元格都不受影响,可以先复制 此列,把它粘贴到空白工作表上,按上面的方法将空行全部删掉,然后再将此列复制,粘贴到原工作表的相应位置上。10、如何避免错误信息在Excel输入公式后,有时不能正确地计算结果,并在单元格内显示一个错误信息,这些错误的产生,有的是因公式本身产生的,有的不是。下面就介绍一下几种常见的错误信息,并提避免错的办法。1)错误值:####含义:输入到单元格的数据太长或单元格公式所产生的结果太大,使结果在单元格显示不下。或是日期和时间格式的单元格做减法,现了负值。解决办法:增加列的宽度,使结果能够完全显示。如果是由日期或时间相减产生了负值引起的,可以改变单元格的格式,比如改为文本格式,结果为负的时间量。2)错误值:#DIV/0!含义:试图除以0。这个错误的产生通常有下面几种情况:除数为0、在公式除数使用了空单元格或是包含零值单元格的单元格引用。解决办法:修改单元格引用,或者在用作除数的单元格输入不为零的值。3)错误值:#VALUE!含义:输入引用文本项的数学公式。如果使用了不正确的参数或运算符,或者当执行自动更正公式功能时不能更正公式,都将产生错误信息#VALUE!。解决办法:这时应确认公式或函数所需的运算符或参数正确,并且公式引用的单元格包含有效的数值。例如,单元格C4一个数字或逻辑值,而单元格D4包含文本,则在计算公式=C4+D4时,系统不能将文本转换为正确的数据类型,因而返回错误值#VALUE!。4)错误值:#REF!含义:删除了被公式引用的单元格范围。解决办法:恢复被引用的单元格范围,或是重新设定引用范围。5)错误值:#N/A含义:无信息可用于所要执行的计算。在建立模型时,用户可以在单元格输入#N/A,以表明正在等待数据。任何引用含有#N/A值的单元格都将返回#N/A。解决办法:在等待数据的单元格内填充上数据。6)错误值:#NAME?含义:在公式使用了Excel所不能识别的文本,比如可能是输错了名称,或是输入了一个删除的名称,如果没有将文字串括在双引号,也会产生此错误值解决办法:如果是使用了不存在的名称而产生这类错误,应确认使用的名称确实存在;如果是名称,函数名拼写错误应就改正过来;将文字串括在双引号确认公式使用的所有区域引用都使用了冒号(:)。例如:SUM(C1:C10)。 注意将公式的文本括在双引号。7)错误值:#NUM! 含义:提供了无效的参数给工作表函数,或是公式的结果太大或太小而无法在工作表表示。解决办法:确认函数使用的参数类型正确。如果是公式结果太大或太小,就要修改公式,使其结果在-1×10307和1×10307之间。8)错误值:#NULL! 含义:在公式的两个范围之间插入一个空格以表示交叉点,但这两个范围没有公共单元格。比如输入:“=SUM(A1:A10 C1:C10)”,就会产生这种情况。解决办法: 取消两个范围之间的空格。上式可改为“=SUM(A1:A10 ,C1:C10)”11、宏的应用宏是一个指令集,用来告诉EXCEL来完成用户指定的动作。宏类似于计算机程序,但是它是完全运行于EXCEL的,我们可以使用宏来完成枯燥的、频繁的重复性工作。 宏完成动作的速度比用户自己做要快得多。例如,我们可以创建一个宏,用来在工作表的每一行上输入一组日期,并在每一单元格内居对齐日期,然后对此行应用边框格式。我们还可以创建一个宏,在“页面设置”对话框指定打印设置并打印文档。由于宏病毒的影响和对编程的畏惧心理,使很多人不敢用“宏”,或是不知道什么时候可以找宏来帮忙。其实你尽管放心大胆地去用,如果只是用“录制宏”的方法,根本就没有什么难的,只是把一些操作象用录音机一样录下来,到用的时候,只要执行这个宏,系统就会把那操作再执行一遍。下面给了宏的应用场合,只要用“录制宏”就可以帮你完成任务,而不需要编程。如果想对所录制的宏再进行编辑,就要有一定的VBA知识了。* 设定一个每个工作表都需要的固定形式的表头;* 将单元格设置成一种有自己风格的形式;* 每次打印都固定的页面设置;* 频繁地或是重复地输入某些固定的内容,比如排好格式的公司地址、人员名单等;* 创建格式化表格;* 插入工作表或工作薄等。需要指的是,EXCEL的宏与WORD的宏有些不同之处,对于录制的操作,它会记住单元格的坐标(即所有的引用都是绝对的),所以在涉及到与位置有关的操作时,要格外注意。如果相用相对引用,可以借助于Offset方法,比如下面的语句: ActiveCell.Offset(1,0). range("A1").select 宏的应用是很广的,上面提到的只是一点点,如果真的用起来,你会发现它有更丰富的内容和更灵活的应用方法。12、图表的应用技巧Excel提供了14种标准的图表类型,每一种都具有多种组合和变换。在众多的图表类型,选用那一种图表更好呢? 根据数据的不同和使用要求的不同,可以选择不同类型的图表。图表的选择主要同数据的形式有关,其次才考虑感觉效果和美观性。 下面给了一些常见的规则。面积图:显示一段时间内变动的幅值。当有几个部分正在变动,而你对那些部分总和感兴趣时,他们特别有用。面积图使你看见单独各部分的变动,同时也看到总体的变化。条形图:由一系列水平条组成。使得对于时间轴上的某一点,两个或多个项目的相对尺寸具有可比性。比如:它可以比较每个季度、三种产品任意一种的销售数量。条形图的每一条在工作表上是一个单独的数据点或数。因为它与柱形图的行和列刚好是调过来了,所以有时可以互换使用。柱形图:由一系列垂直条组成,通常用来比较一段时间两个或多个项目的相对尺寸。例如:不同产品季度或年销售量对比、在几个项目不同部门的经费分配情况、每年各类资料的数目等。条形图是应用较广的图表类型,很多人用图表都是从它开始的。折线图:被用来显示一段时间内的趋势。比如:数据在一段时间内是呈增长趋势的,另一段时间内处于下降趋势,我们可以通过折线图,对将来作预测。例如:速度-时间曲线、推力-耗油量曲线、升力系数-马赫数曲线、 压力-温度曲线、疲劳强度-转数曲线、转输功率代价-传输距离曲线等,都可以利用折线图来表示,一般在工程上应用较多,若是其一个数据有几种情况,折线图里就有几条不同的线,比如五名运动员在万米过程的速度变化,就有五条折线,可以互相对比,也可以对添加趋势线对速度进行预测。股价图:是具有三个数据序列的折线图,被用来显示一段给定时间内一种股标的最高价、最低价和收盘价。通过在最高、最低数据点之间画线形成垂直线条,而轴上的小刻度代表收盘价。股价图多用于金融、商贸等行业,用来描述商品价格、货币兑换率和温度、压力测量等,当然对股价进行描述是最拿手的了。饼形图:在用于对比几个数据在其形成的总和所占百分比值时最有用。整个饼代表总和,每一个数用一个楔形或薄片代表。比如:表示不同产品的销售量占总销售量的百分比,各单位的经费占总经费的比例、收集的藏书每一类占多少等。饼形图虽然只能表达一个数据列的情况,但因为表达得清楚明了,又易学好用,所以在实际工作用得比较多。如果想多个系列的数据时,可以用环形图。雷达图:显示数据如何按心点或其他数据变动。每个类别的坐标值从心点辐射。来源于同一序列的数据同线条相连。你可以采用雷达图来绘制几个内部关联的序列,很容易地做可视的对比。比如:你有三台具有五个相同部件的机器,在雷达图上就可以绘制每一台机器上每一部件的磨损量。XY散点图:展示成对的数和它们所代表的趋势之间的关系。对于每一数对,一个数被绘制在X轴上,而另一个被绘制在Y轴上。过两点作轴垂线,相交处在图表上有一个标记。当大量的这种数对被绘制后,一个图形。散点图的重要作用是可以用来绘制函数曲线,从简单的三角函数、指数函数、对数函数到更复杂的混合型函数,都可以利用它快速准确地绘制曲线,所以在教学、科学计算会经常用到。还有其他一些类型的图表,比如圆柱图、圆锥图、棱锥图,只是条形图和柱形图变化而来的,没有突的特点,而且用得相对较少,这里就不一一赘述。这里要说明的是:以上只是图表的一般应用情况,有时一组数据,可以用多种图表来表现,那时就要根据具体情况加以选择。 对有些图表,如果一个数据序列绘制成柱形,而另一个则绘制成折线图或面积图,则该图表看上去会更好些。在EXCEL允许这创建这样的组合图表,但如果想创建一种EXCEL不允许的组合图表类型,比如不可能将一个二维图同一个三维图表混在一起,这种组合是不可能的,系统就会显示错误信息。怎么建立混合图表呢?单击“图表向导”按钮,选择“自定义类型”选项卡,这里还躲着二十种图表类型(如图14),也有各种组合形式。如果你对这些内部定义的形式还不满意,就单击“自定义”选项钮,按照向导自己定义全新的图表类型。
用_Excel_制作漂亮的工资条的方法.doc 用 Excel 制作漂亮的工资条的方法   如何使用Excel进行工资条的制作,也许有些网友使用已经很长时间了,但如何更快更好的做漂亮的工资条,看看作者的方法吧。   “小问题难倒老财务”,也许你已经在财务口上工作多年,也许你天天都要面对Excel那张老脸,也许你已经习惯了用工资明细表做员工工资统计并向上级汇报,把表的条目一条条复制粘贴后打印发给每个员工。可你是否想过,找一个更简单更有效率的方法?看起来这似乎有些困难:在工资明细表,工资的项目(即表头)一般只现在表格开头的某一行,而在工资条,为了便于阅读则要求每个人的工资都有表头,那么如何巧妙地把工资明细表制作成便于打印的工资条呢?如图所示,这就是我们要完成的工作(原工资表见图1,转换成工资条后的效果见图2): 图1 原工资表 图2 转换后效果   “条条大路通罗马”,不过路有远近之分,方法也有难易之别,这里给大家提供三种最简单易用的方法。   方法一:宏命令控制法   对于Office家族的宏功能,大家或许早有耳闻,但由于需要使用VBA进行编程,所以宏一直让许多人望而却步,不过要使用一个现成的宏就简单多了。首先打开要处理的Excel表,选择“工具→宏→Visual Basic 编辑器”,在编辑器左边的窗口用鼠标双击Sheet1,会现代码编辑窗口,在代码编辑窗口输入如下代码(为了不破坏原有的工资表,所以这里采用了将 Sheet1的内容复制到Sheet2的方法,所以最后的生成结果是在Sheet2显示):   Sub MakeSalaryList()   Dim i As Integer   Dim endrow As Integer   '测数据的最后一行   endrow = Sheet1.Range("a65536").End(xlUp).Row - 1   '把标题贴过去   Worksheets(1).Range("1:1").Copy (Worksheets(2).Cells(1, 1))   For i = 3 To endrow   '把每条数据抬头贴过去   Worksheets(1).Range("2:2").Copy (Worksheets(2).Cells(3 * i - 7, 1))   '把数据贴过去   Worksheets(1).Range(Cells(i, 1), Cells(i, 256)).Copy (Worksheets(2).Cells(3 * i - 6, 1))   Next i   End Sub   关闭编辑器,将自动返回到刚才的Excel表,选择“工具→宏→宏”,将弹如下对话框:(见图3) 方法二:公式填充法   相比宏命令,公式填充法更便于理解,不过需要手工操作的步骤稍微多一些,“鱼和熊掌不可得兼”,要用哪种方法就看你的爱好了。   首先打开要操作的Excel工资表,为了不破坏原表(Sheet1)结构,我们仍然采用在Sheet2进行操作的方法。由于这个工资表一共有L列,18行,要复制的
MS Query基础语法讲解: 一、单表查询 单表查询是指仅涉及一个表的查询 1、查询指定列 例1、查询材料进货明细表的定额名称及规格 SELECT 定额名称,规格 FROM [材料进货明细表$] 注意:在excel一个工作表的表示是这样的:[工作表名称$] select的意思是:查询 上面那一句SQL语句的意思就是:从表材料进货明细表定额名称及规格的值 例2、查询材料进货明细表的详细记录 SELECT * FROM [材料进货明细表$] 等价于: SELECT 序号, 定额名称,规格,日期,单位,数量 FROM [材料进货明细表$] 注意:*的用法 2、查询经过计算的值 例3、查询材料进货明细表的定额名称、规格、年份及数量 SELECT 定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 注意:里面的年份已经通过了计算的了,成为一个新的变量。 加多一列自定义的列A厂: SELECT “A厂” ,定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] SELECT “A厂” as 工厂 ,定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 比较一下上面两句SQL语句的区别,没有as 工厂与有as 工厂的区别 二、选择表若干元组 1、消除取重复的行 例4、查询材料进货明细表的定额名称 SELECT 定额名称 FROM [材料进货明细表$] 该查询结果会包含很多重复的行。消除重复行的话,必须指定关键词 distinct SELECT distinct 定额名称 FROM [材料进货明细表$] 2、查询满足条件的元组 例5、查询材料进货明细表单位为“套”的所有记录 SELECT * FROM [材料进货明细表$] where 单位= ‘套’ 本句语句,要学会where的用法: 要查询满足指定条件的元组,可以通过where子句实现。where子句查询条件是: 比较: =,>,<,>=,<=,!=,<>,!>,!<;not +上述比较运算符 确定范围: between and ,not between and 确定集合:in,not in 字符匹配:like,not like 空值:is null,is not null 多重条件:and,or,not 例6、查询材料进货明细表数量在50—100之间的所有记录 SELECT * FROM [材料进货明细表$] where 数量 between 50 and 100 如果是不在50-100之间的话,直接改成: SELECT * FROM [材料进货明细表$] where 数量 not between 50 and 100 例7、查询材料进货明细表单位为“只”或“支”的所有记录 SELECT * FROM [材料进货明细表$] where 单位 in(‘只’,'支’) 3、字符匹配 可以用like来实现,通配符%和_ a、%代表任意长度的字符串,如a%b表示以a开头,以b结尾的任意的字符串 b、_代表任意单个字符 例8、查询材料进货明细表定额名称以“天津”开头的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 like ‘天津%’ 例9、查询材料进货明细表定额名称以“天津”开头且字符为4个的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 like ‘天津__’ 例10、查询材料进货明细表定额名称不以“天津”开头的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 not like ‘天津%’ 4、涉及空值的查询 主要是以:null现 例11、查询材料进货明细表规格为空的的所有记录 SELECT * FROM [材料进货明细表$] where 规格 is null 5、多条件查询 例12、查询材料进货明细表定额名称为“天津三通”的并且数量大于30的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 = ‘天津三通’ and 数量>30 三、order by 子句 desc(降序)、asc(升序) 例13、查询材料进货明细表数量大于30的所有记录,并且要按照数量来降序排列。 SELECT * FROM [材料进货明细表$] where 数量>30 order by 数量 desc 四、聚集函数 count(distinct/all 列名):统计元组个数 sum:求和 avg:求平均值 max:最大值 min:最小值 例14、查询材料进货明细表天津大小头的最大数量。 SELECT max(数量) FROM [材料进货明细表$] where 定额名称 = ‘天津大小头’ 或:SELECT max(数量) as 最大数量 FROM [材料进货明细表$] where 定额名称 = ‘天津大小头’ 2. Excel源数据及分析下载:Excel数据透视表教程:分类百分比 SQL语句: select *, Hz1.分类销量/Hz2.分类销量 as 分类百分比 from (select 品种,分公司, sum(数量) as 分类销量 from [数据$] group by 品种,分公司) Hz1, (select 分公司, sum(数量) as 分类销量 from [数据$] group by 分公司) Hz2 where hz1.分公司=Hz2.分公司 SQL语句解释: select 品种,分公司, sum(数量) as 分类销量 from [数据$] group by 品种,分公司 实现对品种、分公司两字段分组的统计求和 select 分公司, sum(数量) as 分类销量 from [数据$] group by 分公司 实现对分公司字段分组的统计求和 对分公司分组统计求和数是对品种、分公司两字段分组统计求和项目再对不同品种的总就和,也就是后者包含前者。 整句语句的意思就是,将两个查询结果作为新的查询表分别命名为Hz1、Hz2,用 ”where hz1.分公司=Hz2.分公司“来组合数据, 没有条件的制约的话,将统计的结果再进行除数运算, 各品种的分组统计数(分组含品种字段)除以各品种已求和了的分组统计数(分组不含品种字段)求得所占比率, 最后在字段单元格设置为百分数就可以了。 3 在Excel使用MS Query查询外部数据库的内容的优点是:不用设置公式、编写VBA代码、源数据库不用打开。 但要注意:源数据库的记录要有字段名,由于设置查询时的路径固定,。 因此源数据库文件不能随意移动(如确实要移动可以通过手工修改查询或VBA解决) 以下示例采用MS Query在“查询”工作簿查询关闭的“销售”工作簿sheet1的指定 “店铺”和指定“颜色”的内容(sheet1有“店铺”、“数量”、“颜色”等字段名及若干数据)。 操作前请先确定是否安装有MS Query。附上举例文件,请解压到D盘根目录下: 销售.xls为源数据,查询.xls设置了msquery查询。 下载:MS Query查询未打开工作簿的内容例子 1、 新建一个工作表,选择菜单【数据】—【导入外部数据】—【新建数据库查询】, 界面如图,由于查询excel数据库的内容,因此选择【Excel Files*】并确定; 2、 弹〖选择工作簿〗对话框,选择“销售”工作簿,〖确定〗; 3、 弹〖选择列〗对话框,如果此时弹“没用内容”,确定后在〖选项〗将“系统表”勾上。 将所选工作簿的各个工作表及工作表的字段名添加到查询结果,全选可直接将工作表名添加, 〖下一步〗〖下一步〗,选择“在MS query继续编辑查询”; 4、 弹MS Query查询编辑,点击【显示/隐藏条件】图标,在“条件字段”添加“店铺”, 值改为“[店]”(方括号内容随意),再添加个条件为“颜色”,值改为“[色]”,点击【将数据返回Excel】 5、 回到excel的“导入数据”对话框,点击〖参数〗,选“店”字段,再选择“从下列单元格获取数据”, 选择一个用来更改查询关键字的单元格(如B1),并勾选“单元格值更改时自动刷新”, “色”字段改成从单元格“B2”获取,〖确定〗。数据放置位置选择“A3”。〖确定〗。 6、 当更改B1和B2单元格的内容(做个数据有效性)时,A3及以下的数据会即时刷新。 此法对于需要经常在局域网查询数据非常方便,比如:数据放在局域网内的一台主机上,通过MS Query即可不打开工作簿查询数据。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧