Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4972|回复: 19

[习题] 【201401VBA初级】第二讲作业B组上交贴(已开贴)

[复制链接]
发表于 2014-4-18 09:34 | 显示全部楼层 |阅读模式
本帖最后由 雪舞子 于 2014-4-23 15:03 编辑

201401VBA初级班第二讲B组学员作业请提交:

注意:
1、提交作业请注明论坛ID及学号。如:B15-暖;
2、作业请以代码方式提交,标清题号并所有题贴到一个代码标签中,无需提交附件。不会使用标签可移步妙妙班长帖子:http://www.excelpx.com/thread-322284-1-1.html
3、代码题要求强制声明变量,代码缩进及代码注释(缺少任何一项按错误处理没有分);
4、跟帖不要重复占楼,有问题直接在原帖编辑;
5、非本组学员请勿跟帖,否者不予理会;
6、作业截止时间:2014年4月22日晚8:00。时间紧任务重,请同学们抓紧时间。
发表于 2014-4-18 11:44 | 显示全部楼层
本帖最后由 ccq000000 于 2014-4-18 21:13 编辑

误操作了,抱歉.
回复

使用道具 举报

发表于 2014-4-18 12:12 | 显示全部楼层
本帖最后由 qh8600 于 2014-4-18 16:35 编辑

B03-qh8600
  1. Option Explicit '强制声明变量
  2. Enum xq        '设置枚举数据类型
  3.      Sum = 7     '分别给枚举数据类型的序列赋值
  4.      Mon = 0
  5.      Tues = 2
  6.      Wen = 3
  7.      Thur = 4
  8.      Fri = 5
  9.      Sat = 6
  10. End Enum
  11. Type xszl              '设置自定义数据类型
  12.   rxdate As Date     '分别给常量定义数据类型
  13.      name As String
  14.      age As Integer
  15.      pjf As Long
  16.      End Type
  17. Sub demo1()
  18.   Dim a As xq     '声明变量a为枚举类型xq
  19.      a = Wen         '把枚举类型的序列Wen赋值给变量a
  20.      MsgBox a        '用MsgBox函数输出Wen的常量
  21. End Sub
  22. Sub demo2()
  23.   Dim aa As xszl         '声明变量aa为自定义数据类型xszl
  24.      aa.rxdate = "2013-9-1" '分别给自定义数据类型xszl的常量赋值
  25.      aa.name = "张三"
  26.      aa.age = 18
  27.      aa.pjf = 95
  28.      Debug.Print aa.rxdate   '打印出入学日期
  29. End Sub
复制代码

点评

pjf的定义类型不是很严谨;部分代码的缩进有些小问题,应该是粘贴代码的缘故。代码全部正确,非常棒!  发表于 2014-4-20 21:07

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 加油!

查看全部评分

回复

使用道具 举报

发表于 2014-4-18 13:19 | 显示全部楼层

B12:无影无形

  1. Option Explicit '强制声明变量

  2. '第一题 定义枚举类型

  3. Enum WeekDay    '定义枚举类型
  4.     Sum = 7     '设置枚举项并定义该项对应的常量值
  5.     Mon = 0
  6.     Tues = 2
  7.     wen = 3
  8.     thur         '未设置的常量会根据上一个枚举项常量值依次顺延,经测试很正确
  9.     Fri
  10.     sat
  11. End Enum         '结束枚举定义
复制代码
'********************************************************
  1. '第二题  自定义类型
  2. Type studentinfor        '设置一个自定义类型
  3.     studay As String    '设置自定义类型下的方法属性,这里将学生入学日期设置为字符串类型了
  4.     stunam As String    '学生姓名为字符型所以设置为字符串类型
  5.     stuAge As Byte      '学生年龄为小于255的整数数字,所以设置为单精度型、无符号整型
  6.     stuave As Integer    '平均值不知道大概范围在多少,所以设置为长整型整数
  7. End Type                  '结束自定义设置
复制代码
'********************************************************
  1. '第三题  输出枚举类型

  2. Sub test()               '建立一个测试枚举类型的过程
  3. Dim weekd As WeekDay     '定义变量weekd
  4. weekd = wen              '给变量赋值
  5. MsgBox weekd             '以对话窗口形式输出变量的值
  6. End Sub                  '结束过程
复制代码
'********************************************************
  1. '第四题  打印入学日期
  2. Sub test1()                   '建立一个测试自定义类型的过程
  3.     Dim stu As studentinfor   '为测试建立一个自定义类型的变量stu(不知道怎么解释这句才合适)
  4.     stu.studay = "2014-4-17"  '通过变量stu给自定义类型赋值(同上)
  5.     stu.stunam = "无影无形"
  6.     stu.stuAge = "88"
  7.     stu.stuave = "108"
  8.      Debug.Print stu.studay    '通过debug.print函数在立即窗口打印出学生的入学时间
  9. End Sub                        '过程结束
复制代码
'*******************************************************
' 回答完毕,学委辛苦了,谢谢

点评

第四题入学日期应该为日期型较合适,定义成字符串型不是很严谨。注释很详细,非常好。  发表于 2014-4-20 21:33
第二题bate为字节型,stuave如果不知道范围设置single(单精度型)更严谨一些。第三题代码缩进有些小问题,应该粘贴代码的缘故。其余代码正确,继续努力!  发表于 2014-4-20 21:25

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 很棒!

查看全部评分

回复

使用道具 举报

发表于 2014-4-18 13:21 | 显示全部楼层
本帖最后由 云影 于 2014-4-18 13:32 编辑

B11-云影
  1. Enum 第一题
  2.     Sun = 7 '改变默认值
  3.     Mon = 0
  4.     Tues = 2
  5.     Wen
  6.     Thur
  7.     Fri
  8.     Sat
  9. End Enum
复制代码
  1. Type 第二题
  2.     入学日期 As Date '定义数据类型
  3.     姓名 As String
  4.     年龄 As Byte
  5.     平均分 As Byte
  6. End Type
复制代码
  1. Sub 第三题()
  2.     MsgBox 第一题.Wen '提示框显示数值
  3. End Sub
复制代码
  1. Sub 第四题()
  2.     Dim 第四 As 第二题
  3.     第四.入学日期 = #1/1/2014#
  4.     第四.姓名 = "张三"
  5.     第四.年龄 = 18
  6.     第四.平均分 = 95
  7.     Debug.Print 第四.入学日期 '立即窗口显示
  8. End Sub
复制代码

点评

第二题平均分类型可以考虑一下带小数的情况。代码正确,非常棒!  发表于 2014-4-20 21:30

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-18 14:12 | 显示全部楼层
本帖最后由 蓝粆 于 2014-4-20 00:22 编辑

1、
  1. Option Explicit '强制声明变量

  2. Enum 星期 '创建枚举过程
  3.     sun = 7 '赋值
  4.     mon = 0 '
  5.     tues = 2 '
  6.     wen = 3 '
  7.     thur = 4 '
  8.     fri = 5 '
  9.     sat = 6 '
  10. End Enum '结束过程
复制代码
2、
  1. Type stuinf '创建自定义过程
  2.     sturx As Date '定义变量类型
  3.     stuname As String
  4.     stuage As Byte
  5.     stuaversco As Integer
  6. End Type '结束过程
复制代码
3、
  1. Sub 枚举()
  2.     Dim xq As 星期 '定义变量类型
  3.         xq = wen '给变量赋值
  4.     MsgBox xq '信息框输出对应值
  5. End Sub
复制代码
4、
  1. Sub 信息() ' 创建过程
  2.     Dim stu As stuinf
  3.         stu.sturx = #9/1/2014# '赋值
  4.         stu.stuname = "王老五"
  5.         stu.stuage = 18
  6.         stu.stuaversco = 87.5
  7.     Debug.Print stu.sturx '在立即窗口打印出需要的结果
  8. End Sub '结束过程
复制代码

点评

第二题 stuaversco As Integer,第四题 stu.stuaversco = 87.5,如果输出stu.stuaversco 可能会有误差,想一想这是为什么? 其余非常做的非常好!  发表于 2014-4-20 21:38

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 很给力!

查看全部评分

回复

使用道具 举报

发表于 2014-4-18 16:05 | 显示全部楼层
本帖最后由 我真的没醉 于 2014-4-20 08:35 编辑

EP2014V初班B组017我真的没醉   交作业
  1. 第一题:
  2. Enum workdays   'enum 作为关键字用于声明枚举,这里声明了变量workdays一个星期
  3.     Sun = 7           '枚举值星期天,赋值7
  4.     Mon = 0           '枚举值星期一,赋值0
  5.     Tues = 2          ' 枚举值星期二,赋值2
  6.     wen = 3           '枚举值星期三,赋值3
  7.     Thur = 4          '枚举值星期四,赋值4
  8.     Fri = 5              '枚举值星期五,赋值5
  9.     Sat = 6             '枚举值星期六,赋值6
  10. '枚举元素本身由系统定义一个表示序号的数值,从0开始顺序定义为0,1,2…。_
  11. '原本在weekdays中,sun值为0,mon值为1,…,sat值为6 此时已直接赋值7、0、2、3、4、5、6
  12. End Enum '枚举结束

  13. 第二题:
  14. Type stuinfo '声明了stuinfo这样一个自定义变量
  15.     studate As Date             'studate 入学日期,定义为日期型
  16.     stuname As String         'stuname 姓名  定义为字符型
  17.     stuage As Integer          'stuage 年龄  定义为整型
  18.     stuavv As Single            'stuavv 平均分 定义为单精度浮点型
  19. End Type '自定义结束


  20. 第三题:
  21. Enum workdays   'enum 作为关键字用于声明枚举,这里声明了变量workdays一个星期
  22.     Sun = 7           '枚举值星期天,赋值7
  23.     Mon = 0           '枚举值星期一,赋值0
  24.     Tues = 2          ' 枚举值星期二,赋值2
  25.     wen = 3           '枚举值星期三,赋值3
  26.     Thur = 4          '枚举值星期四,赋值4
  27.     Fri = 5              '枚举值星期五,赋值5
  28.     Sat = 6             '枚举值星期六,赋值6
  29. '枚举元素本身由系统定义一个表示序号的数值,从0开始顺序定义为0,1,2…。_
  30. '原本在weekdays中,sun值为0,mon值为1,…,sat值为6 此时已直接赋值7、0、2、3、4、5、6
  31. End Enum '枚举结束

  32. Sub test1() '声明test1这样一个过程,

  33.      Dim workday As workdays              '定义workday变量类型为workdays型

  34.      workday = wen                              '把wen赋值给workday

  35.      MsgBox workday                            '利用输出函数msgbox来显示workday的内容

  36. End Sub '过程结束


  37. 第四题:
  38. Type stuinfo '声明了stuinfo这样一个自定义变量
  39.     studate As Date             'studate 入学日期,定义为日期型
  40.     stuname As String         'stuname 姓名  定义为字符型
  41.     stuage As Integer          'stuage 年龄  定义为整型
  42.     stuavv As Single            'stuavv 平均分 定义为单精度浮点型
  43. End Type '自定义结束
  44. Sub test2()                                       '声明test2一个过程
  45.     Dim stu As stuinfo                         '定义变量stu.类型为stuinfo
  46.     stu.studate = 2014 / 4 / 18          '入学日期为2014/4/18
  47.     stu.stuname = "张三"                   '姓名:张三
  48.     stu.stuage = 20                            '年龄:20
  49.     stu.stuavv = 90                            '平均分:90
  50.     Debug.Print stu.studate                 '在立即窗口中显示入学日期
  51. End Sub '过程结束

复制代码

点评

这是本讲做的最出色的一份作业,定义准确,缩进完美,注释详尽。这样以后再回过头来看自己的这段代码思路依然清晰记忆也会深刻。第四题赋值时注意日期两边要加上#。  发表于 2014-4-20 21:49

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 加油!

查看全部评分

回复

使用道具 举报

发表于 2014-4-18 21:13 | 显示全部楼层

B-14ccq000000

本帖最后由 ccq000000 于 2014-4-18 22:08 编辑
  1. Option Explicit '变量强制申明
  2. '第一题
  3. Enum 定义星期 '开始语句(枚举类型的名称)
  4.    Sun = 7 '赋值(下同)
  5.    Mon = 0
  6.    Tues = 2
  7.    Wen = 3
  8.    Thru = 4
  9.    Fri = 5
  10.    Sat = 6
  11. End Enum '结束语句
  12. '第二题
  13. Type stuData '开始语句(自定义类型的名称)
  14.    stuDate As String '学生入学日期
  15.    stuName As String '学生姓名
  16.    stuAge As Integer '学生年龄
  17.    stuGrade As Single '学生平均分
  18. End Type
  19. '第三题
  20. Sub aa() 'sub名
  21.    Dim x As 定义星期 '定义一个枚举类型的变量x
  22.    x = Wen '给x赋值
  23.    MsgBox x '输出x的值
  24. End Sub 'sub程序结束
  25. '第四题
  26. Sub bb() 'sub名
  27.    Dim student As stuData '定义一个stuData自定义类型的变量student
  28.    student.stuDate = "2000年3月1日" '学生入学日期
  29.    student.stuName = "学习粉丝团" '学生姓名
  30.    student.stuAge = 7 '学生年龄
  31.    student.stuGrade = 60.5 '学生平均分
  32.    Debug.Print student.stuDate '打印学生入学日期
  33. End Sub 'sub程序结束
复制代码

点评

完成的非常好,继续努力!  发表于 2014-4-20 21:53

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-18 23:09 | 显示全部楼层
  1. Option Explicit '强制要求声明变量
  2. Enum workdays   '定义workdays为枚举型,并初始化
  3.     sun = 7
  4.     mon = 0
  5.     tues = 2
  6.     wen
  7.     thur
  8.     fri
  9.     sat
  10. End Enum
  11. Type stuinfor  '定义stuinfor为自定义型
  12.     enrdate As Date
  13.     stuname As String
  14.     stuage As Byte
  15.     avrscore As Single
  16. End Type

  17. Sub mysub1()
  18.     Dim workday As workdays  '声明workday为枚举型变量
  19.     Debug.Print sun, mon, tues, wen, thur, fri, sat  '打印workday中各元素的值
  20.     MsgBox wen '输出wen的值
  21. End Sub
  22. Sub mysub2()
  23.     Dim i As stuinfor  '声明i为自定义型变量,并赋值
  24.     i.enrdate = #4/1/2014#
  25.     i.stuname = "yunzi"
  26.     i.stuage = 23
  27.     i.avrscore = 100
  28.     Debug.Print i.enrdate '打印入学日期
  29. End Sub
复制代码

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 很给力!

查看全部评分

回复

使用道具 举报

发表于 2014-4-19 07:31 | 显示全部楼层
本帖最后由 tianyiyi 于 2014-4-20 15:14 编辑

学委辛苦,交作业了{:171:}B09:tianyiyi    第一题,第三题
  1. Enum wakdays '定义枚举类型
  2.      Mon
  3.      Tuse = 2
  4.      wen
  5.      Thur
  6.      Fri
  7.      Sat
  8.      SUN
  9. End Enum

  10. Sub demo1()
  11.      Dim wakday As wakdays '定义变量
  12.      warkday = wen
  13.      MsgBox warkday '输出wen的常量
  14. End Sub

复制代码
第二题,第四题
  1. Type stuInfor '定义自定义类型
  2.      studate As String
  3.      stuname As String
  4.      stuage As Integer
  5.      stuaver As single
  6. End Type
  7. Sub dome1()
  8.      Dim stu As stuInfor '定义变量
  9.      stu.studate = #9/1/2014# '学生入学日期赋值
  10.      stu.stuname = "李四" '学生姓名赋值
  11.      stu.stuage = 18 '年龄赋值
  12.      stu.stuaver = 90 '平均分赋值
  13.      Debug.Print stu.studate '打印入学日期
  14. End Sub


复制代码

点评

第一题做的非常聪明,说明动脑筋了!第二题 studate as date 可能会更好一些,其余无懈可击,加油!  发表于 2014-4-20 22:00

评分

参与人数 2 +20 金币 +20 收起 理由
hwc2ycy + 20 赞一个!
雪舞子 + 20 赞一个!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-2 06:06 , Processed in 0.308367 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表