VBA收集(6)

2019-04-05 16:37

Else

MsgBox ―Key in password again!‖ Text3.text=‖‖ End If End If End If End Sub

当程序运行时用户要在文本框中输入11,回车后窗体和屏幕上各会显示:() A. 窗体显示―1‖,屏幕上弹出一个消息框,框内显示出―Sorry,invalid password!‖ B. 窗体显示―1‖,屏幕上弹出一个消息框,框内显示出―Key in password again!‖ C. 窗体显示―1‖,屏幕上弹出一个消息框,框内显示出―It is OK!‖

D. 窗体显示―3‖,屏幕上弹出一个消息框,框内显示出―Sorry,invalid password!‖ 三、判断题(每题2分,共30分)

1、剪贴板中只能保存最后一次剪切或复制的内容。( ) 2、要关闭Excel的文档窗口,可以用Alt+F4快捷键。( ) 3、Excel97启动后自动打开一个名book1的工作表。( ) 4、在Excel中, 一个工作表可以包含多个工作薄。( )

5、在Excel97中,如果在某个单元格输入的公式中使用的是绝对地址,则复制该单元公式到另一单元时,Excel会对后一单元的公式作相应的调整。( )

6、在Excel中进行数据分类汇总,既可以通过执行―数据‖菜单中的―分类汇总‖命令执行,也可以使用Excel提供的数据透视表功能实现。前者适合依据多个字段进行分类汇总,后者适合依据一个字段进行分类汇总。( ) 7、在Excel中,当工作表的数据发生变化时,相应图表中的数据序列也会随之变化,反之亦然( ) 8、使用Excel默认的填充序列功能,可以自动填充出―第一课。。。。第十课‖的序列。( )

9、在VB5的标准控件中复选框控件适用于在一组按钮中显示多个选项,但用户只能而且必须选择其中一项。( ) 10、在VB中,可能有许多事件过程不会被执行。这是因为事件过程对应的事件没有发生。( ) 11、在VB中,变体型变量是一种没有数据类型的变量。( ) 12、在VB中,Integer类型的类型声明符为―!‖。 ( ) 13、在VB中,局部变量只在定义它的过程内有效。( )

14、在VB5的过程中用Dim声明局部变量是动态变量,其值在过程执行完后仍保留。用Static声明局部变量是静态变量,其值在程序执行完后会消失。( )

15、在VB中,属性窗体和窗体属性中一回事。( )

四、多选题(提示:在下述题前有*标记的题选择是有次序的,每小题2分,共20分) 1、―关闭计算机的正确步骤为‖( )

A. 选择―关闭系统项‖ B. 在弹出的对话框选择―关闭计算机‖并单击―确定‖按钮 C. 单击―开始‖菜单 D. 关闭所有已打开的窗口

2、下述输入数据中哪些是正确的Excel97的-6左2分之一? ( ) A. –61/2 B. (61/2) C. –6 1/2 D. (6 1/2)

3、在Excel97当前工作表中,假设C5到F5单元格中已有数据型数据,求出C5到F5的总值的公式可以是( ) A. Sum(c5,f5) B. =Sum(c5:f5) C. =c5+d5+e5+f5 D. +Sum(c5:f5) 4、下列( )是Excel97的应用范围。 A. 制作普通表格 B. 关联数据以及图表应用 C. 数据模拟运算 D. 数据库的基本操作 5、如果要使A1成为活动单元格,可以( )。 A. 单击A1单元格 B. 按Home键

C. 按Ctrl+Home键 D. 在编辑栏的―名称‖框内输入A1然后回车 6、下述哪些数据不是Excel97中的合法的日期格式的数据。( )

A. 1989年12月31号 B. 2001/1/11 C. 04-11-89 D. 1989.12.31 7、下述哪些是VB中合法的注释语句?( ) A. ―这是一个注释‖ B. ?这是一个注释 C. Rem 这是一个注释 D. 这是一个注释

8、*在VB中将窗体的标题设置成―评估展示‖的步骤为( ); A. 将Caption的值改为―评估展示‖ B. 将当前窗体存盘 C. 将当前窗体成为焦点 D. 打开属性窗口 9、*向窗体添加控件的步骤为( );

A. 单击工具箱中所需的控件 B. 移动鼠标到窗体中适当位置 C. 按下鼠标向另一对角拖曳直到满意释放鼠标 D. 使窗体成为焦点

71、1.文件菜单栏(Excel自带的)

文件就叫Commandbars(\,你可以在打开命令后加个菜单,类似的,编辑就是Commandbars(\,视图就是Commandbars(\,这些不会因语言版本不一样而不同,全部是一样的。 2.快捷菜单栏

好像那些打印啊、打开文件啊、居中对齐啊那些呢,叫Commandbars(\那些字体大小啊,颜色啊,就叫(\。 3.右键

Excel的右键也是可以更改的,名叫:Commandbars(\ 4.自定义菜单

类似于数据透视表的那些浮动的窗体,不用名字,用Commandbars.add就可以追加了,最简单了。如果不能运行,记得加个Application.在Commandbars的前面。

72、由于公司合同较多,每次缴印花税时,计算每份印花税所需要的各面额印花的张数是一件比较繁琐的事。如:这份合同需要缴纳23元的印花税则需要买两张10元、一张2元、一张1元面额的印花。幸好有Excel这个财会人员的得力工具,我编写了一段宏代码来自动帮我计算各面额印花的张数,既快捷又方便。想到还有很多同行要做这项工作,所以写下来与大家共享。具体操作如下:

新建一个Excel文件存为stampduty.xls,进入宏编辑器(Alt+F11)在ThisWorkbook中加入以下代码: '印花税各面额印花张数计算程序 BY-RAY DENG '用途:已知印花税额,计算各面额印花张数

'使用方法:做好工具条后,只要选择要计算的原始数据,点击\印花税面额计算\工具条即可. ' (请不要选择全列,否则无效的计算太多.) Sub stamp_duty()

Static flagcal As Integer '计算标志,首次计算时清空计算结果页,否则在结果页追加计算结果 Static rowbegain As Integer '计算结果页上可用行号,计算结果追加时从这里开始 Dim filename As String '打开的需要计算数据的文件名 Dim moneytype(7) As Single '定义面额 Dim money As Single

Dim billno As Integer '票额张数

filename = ActiveWorkbook.Name '记录当前打开的文件名

If filename = VBAProject.ThisWorkbook.Name Then '不要在自身这个文件中操作 MsgBox \请选择其它文件中的数据!\Exit Sub End If

Application.ScreenUpdating = False '将屏幕更新关闭,可加快宏的运行速度

billno = 0 '计数清0

moneytype(0) = 100 '印花税面额为0.5-100,以0.5为舍入标准 moneytype(1) = 50 moneytype(2) = 10 moneytype(3) = 5 moneytype(4) = 2 moneytype(5) = 1 moneytype(6) = 0.5

VBAProject.ThisWorkbook.Sheets(1).Activate '打开结果页 If flagcal = 0 Then '如果为第一次计算,则清空结果页 Cells.Select

Selection.ClearContents Range(\End If

ActiveSheet.Cells(1, 1) = \先写上表头 For i = 0 To 6

ActiveSheet.Cells(1, i + 2) = moneytype(i) Next i

Workbooks(filename).Activate '转到要计算的原始数据数据文件 rowno = ActiveWindow.RangeSelection.Rows.Count '所选区域有几行 rowstart = ActiveWindow.RangeSelection.Row '起始行 colstart = ActiveWindow.RangeSelection.Column '起始列 j = rowbegain '结果页中写结果的起始行 For i = 1 To rowno '开始读原始数据

origindata = Cells(i + rowstart - 1, colstart) '读原始数据

'广州印花税尾数处理方法:过0.5进1,不足舍去,刚好为0.5及其倍数则不变 If origindata * 100 Mod 50 <> 0 Then money = Round(origindata, 0) '以0.5为界限作四舍五入 Else

money = origindata '整数及尾数刚好为0.5不作处理 End If

VBAProject.ThisWorkbook.Sheets(1).Activate '转到结果页

ActiveSheet.Cells(i + 1 + j, 1) = origindata '在第一列写入原始数据 Workbooks(filename).Activate ''转到要计算的原始数据数据文件 For k = 0 To 6 '循环计算各面额所需张数 While money >= moneytype(k) money = money - moneytype(k) billno = billno + 1 Wend

VBAProject.ThisWorkbook.Sheets(1).Activate

ActiveSheet.Cells(i + 1 + j, k + 2) = billno '在相应位置写入该面额张数 billno = 0 '清0准备计算下一面额 Workbooks(filename).Activate Next k

rowbegain = rowbegain + 1 '结果页中写结果的起始行下移一行 Next i

flagcal = flagcal + 1 '计算次数累加

rowbegain = rowbegain + 1 '添加一空行区分不同次数的结果 Application.ScreenUpdating = True '恢复屏幕刷新 VBAProject.ThisWorkbook.Sheets(1).Activate '打开结果页 End Sub

编好后存盘,退出宏编辑器。开始构建一个工具栏:[工具]—[自定义],点击[工具栏]---[新建],工具栏名称定为―印花税‖,这时会出现 ,点击[命令],将 ―命令‖列表中任意图标拖动到这个工具栏中,在刚拖过来的图标上点右键,选择[命名],将其改为―印花税面额计算‖,选择[总是只用文字],这时会出现 ,在―印花税面额计算‖上点一次右键,选择[指定宏],选择―ThisWorkbook.stamp_duty‖ ,点[确定]即可。以后要计算时,只要选好原始数据,点击该工具栏即可。 73、Sub AA()

Sheet1.Visible = 2 ?深度隐藏 Sheet1.Visible = -1 ‘显示 End Sub

74、你在―workbook\的 Private Sub Workbook_BeforeClose(Cancel As Boolean) 中加入如下句子:myNowTime = Format(Now, \

ActiveWorkbook.SaveAs Filename:=currPath & myNowTime & \ ?(‖currPath― 为你的路径及文件名称)

这样你保存文件可以年、月、日来实现。甚至可以小时、分、秒来保存。对于在编程序的来讲比较有用。如果你不需要―小时、分及秒‖,可把后面的 [& \取消即可。

75、我们日常上送、下发的报表材料、通知等都要加盖公章,如果把这项工作交给Excel或Word来完成,我们的工作就轻松多了。

第一步:制作公章图案

首先我们要做出一个公章的图案,最简单的办法是把公章图案扫描到电脑中,然后处理成透明的GIF图像。我们也可以直接用Excel来制作:把绘图工具打开,选中―椭圆‖工具,在按下―Shift‖键的同时拖开鼠标,就可以得到一个正圆了。双击这个正圆打开―设置自选图形格式‖对话框,在―颜色与线条‖标签中,填充颜色选―无填充颜色‖,线条颜色设为红色,选3磅粗的单线形(图)。公章的文字用艺术字来制作,填充颜色和线条颜色都用红色,并设成无阴影产。弧形文字和水平文字要分开来做,在做弧形文字时,把艺术字拖到圆形的上方,在艺术字工具中选―艺术字形状-细上弯弧‖,按住黄色的四方块往下拉,再作适当的调整,就可以做出公章里的圆弧形的文字了。公章中间还有一个红五星,用―自选图形‖的星形就可以做出来了,填充颜色和线条颜色用红色。最后,按住―Shift‖键把组成公章的文字、图形全部选上,执行右键菜单中的―组合‖命令,一个公章就做好了。

如何把做好的公章保存出来?这里有一方法:把工作表另存为Web页,然后到保存目录中找到*.files的文件夹,里面有一个GIF图片,这就是刚才做好的公章图案了,它的背景是透明的,我们把它改名为gongzhang.gif保存下来即可。 第二步:添加―盖章‖按钮

接下来我们给Excel添加一个盖章按钮,当一个工作表做好后,点击这个盖章按钮,就可以为我们盖上公章了。

先把公章图形复制出来(用来粘贴作为按钮的图标),然后打开―工具-自定义‖对话框,选中―命令‖标签,在―类别‖栏中找到―宏‖,在右边的―命令‖栏里就会出现一项―自定义按钮‖。用鼠标把这个笑脸图标拖出到菜单栏或工具栏上放下,在笑脸图标上击右键,在弹出的菜单中把―命名‖处的文字改为―加盖公章‖。接下来点击―粘贴按钮图标‖这个命令,就可以用刚和复制的公章图形来代替笑脸图标了。把鼠标移下来选中―分配超级链接-插入图片‖,然后在―请键入文件名称或Web页名称‖栏里输入公章图片gongzhang.gif的文件名及路径,然后按―确定‖返回。

好了,看到―加盖公章‖这个按钮了吧,点击一下看看,呵呵,页面上就盖上一个鲜红的公章了,用鼠标可以把它拖到任意的地方。在Word文档中加盖公章的方法与此大同小异,大家可以自己试一试。 76、如何使某一个固定的菜单项无效

Application.CommandBars(\ Controls(6)中的6就是所在菜单栏的行数 我觉得这样可能更可靠: Dim i As Integer

For i = 1 To Application.CommandBars(\

If Application.CommandBars(\另存为(&A)...\ Application.CommandBars(\ End If Next i

77、请教大家,我想在EXCEL文件退出时,另存为当前目录下的子目录BAK中,比如EXCEL文件在C盘,就另存为C:\\BAK子目录下,但EXCEL文件的位置不确定,不知如何写语句? 注意先引用\

Private Sub Workbook_BeforeClose(Cancel As Boolean) ' 在本文件要關閉前,執行備份動作。

If Not ActiveWorkbook.Saved Then Exit Sub ' 若原文件未存檔,備份檔也不存。 ThisPath = ThisWorkbook.Path

' 假定備份文件夾之名稱為\,若本文件是備份檔,則不需再備份。

If Len(Application.WorksheetFunction.Substitute(ThisPath, \t Sub Bak = ThisPath & \

'檢查備份文件夾是否存在,若不存在,就建立一個。 If Len(Dir(Bak, vbDirectory)) > 0 Then

If (GetAttr(Bak) And vbDirectory) = vbDirectory Then GoTo 3 ' 若已存在,跳到下一步。 End If

MkDir Bak ' 建立備份文件夾。 ' 改變目前路徑到備份文件夾路徑,並備份之。 3 ChDir Bak

Application.EnableEvents = False ' 避免執行BeforeSave事件。

Application.DisplayAlerts = False ' 避免顯示是否要覆蓋原備份文件之訊息。 ActiveWorkbook.SaveAs

ChDir ThisPath ' 改變目前路徑回到原文件夾路徑。 Application.DisplayAlerts = True Application.EnableEvents = True End Sub

上述程式有個漏洞,就是在本文件做過更動,且存檔過了,但最後一次的更動未存檔,則 If Not ActiveWorkbook.Saved Then Exit Sub 這個判斷會造成不存備份檔之錯誤決定。

若想彌補上述錯誤,將觸發的事件改成Workbook_BeforeSave,卻會造成Excel關閉的錯誤。 78、文件保存为以某一单元格中的值为文件名的宏怎么写

用命令: ActiveWorkbook.SaveCopyAs Str(Range(\79、Offset 属性

参阅应用于示例特性应用于 Range 对象的 Offset 属性。

返回一个 Range 对象,该对象代表某个指定区域以外的区域。只读。 expression.Offset(RowOffset, ColumnOffset)

expression 必需。该表达式返回一个 Range 对象。

RowOffset Variant 类型,可选。区域偏移的行数(正值、负值或 0(零))。正值表示向下偏移,负值表示向上偏移,默认值为 0。

ColumnOffset Variant 类型,可选。区域偏移的列数(正值、负值或 0(零))。正值表示向右偏移,负值表示向左偏移,默认值为 0。

应用于 TickLabels 对象的 Offset 属性。

返回或设置各级别标签之间的距离以及第一级标签与坐标轴之间的距离。其默认距离为百分之百,代表坐标轴标签与坐标轴之间的默认距离。其值可以为从 0 到 1000 之间的一个整数百分比,表示相对于坐标轴标签的字体大小。Long 类型,可读写。


VBA收集(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:锅炉给水泵运行中的故障及解决方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: