Excel精英培训网

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

[习题] Excel 2015VBA初级2班第3课C组作业上交贴(已开贴)

[复制链接]
发表于 2015-11-8 22:13 | 显示全部楼层 |阅读模式
本帖最后由 chenzhi_juan 于 2015-11-14 17:16 编辑

作业要求:
1、提交作业请注明论坛ID及学号。如:C01-***;
2、作业请以代码方式提交,标清题号并所有题贴到一个代码标签中,无需提交附件。不会使用标签可移步帖子:http://www.excelpx.com/thread-322284-1-1.html
3、代码题要求强制声明变量,代码缩进;
4、跟帖不要重复占楼,有问题直接在原帖编辑;
5、非本组学员请勿跟帖;
6、作业截止时间:2015年11月13日18:00时

 楼主| 发表于 2015-11-8 22:13 | 显示全部楼层
本帖最后由 chenzhi_juan 于 2015-11-9 20:35 编辑

      本课就不单独贴代码了。在所有的VBA班级中,都会存在一个问题。到了后期,剩下的差不多已经没有小白了。本次所贴的代码,基本都已经没有什么好点评的了,都不错。。。
回复

使用道具 举报

发表于 2015-11-9 05:24 | 显示全部楼层
本帖最后由 一杯清荼 于 2015-11-9 05:26 编辑

C06-一杯清荼
  1. Sub 作业1()
  2.     Dim i As Integer
  3.     Dim j As Integer
  4.     Sheets("练习").Range("a1:g7").ClearContents
  5.     For i = 0 To 6
  6.         For j = 1 To 7 - i
  7.            Sheets("练习").Cells(j + i, 7 - i) = "*"
  8.         Next
  9.     Next
  10. End Sub


  11. Sub 作业2()
  12.     Dim i As Integer
  13.     Dim j As Integer
  14.     Sheets("练习").Range("a1:g7").ClearContents
  15.     For i = 1 To 7
  16.         For j = 1 To i
  17.             Sheets("练习").Cells(j, i) = "*"
  18.         Next
  19.     Next
  20. End Sub

  21. Sub 作业3()
  22.     Dim i As Integer
  23.     Dim j As Integer
  24.     Sheets("练习").Range("a1:g7").ClearContents
  25.     For i = 0 To 6
  26.         For j = 1 To 7 - i
  27.             Sheets("练习").Cells(j + i, 7 - i) = i + j
  28.         Next
  29.     Next
  30. End Sub

  31. Sub 作业4()
  32.     Dim i As Integer
  33.     Dim j As Integer
  34.     Sheets("练习").Range("a1:g7").ClearContents
  35.     For i = 1 To 7
  36.         For j = 0 To 7 - i
  37.            Sheets("练习").Cells(j + i, i) = i
  38.         Next
  39.     Next
  40. End Sub
  41. Sub 作业5()
  42.     Dim i As Integer
  43.     Dim sums As Integer
  44.     Do While sums <= 1000
  45.         i = i + 1
  46.         sums = Sheets("循环作业").Cells(i + 1, 2) + sums
  47.     Loop
  48.     If sums >= 1000 Then
  49.         MsgBox "超支的日期是:" & Sheets("循环作业").Cells(i + 1, 1)
  50.     Else
  51.         MsgBox "本月没有超支"
  52.     End If

  53. End Sub
复制代码

点评

第二题未设置起始位置,标题是不能被加的  发表于 2015-11-9 20:33

评分

参与人数 1 +12 金币 +12 收起 理由
chenzhi_juan + 12 + 12 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-11-9 11:46 | 显示全部楼层
C09-JasonG
  1. Sub 作业1()
  2. Dim i As Integer
  3. Dim j As Integer
  4. For i = 1 To 7
  5.     For j = 8 - i To 7
  6.         Cells(i, j) = "*"
  7.     Next
  8. Next
  9. End Sub

  10. Sub 作业2()
  11. Dim i As Integer
  12. Dim j As Integer
  13. For i = 1 To 7
  14.     For j = i To 7
  15.         Cells(i, j) = "*"
  16.     Next
  17. Next
  18. End Sub

  19. Sub 作业3()
  20. Dim i As Integer
  21. Dim j As Integer
  22. For i = 1 To 7
  23.     For j = 8 - i To 7
  24.         Cells(i, j) = i
  25.     Next
  26. Next
  27. End Sub

  28. Sub 作业4()
  29. Dim i As Integer
  30. Dim j As Integer
  31. For i = 1 To 7
  32.     For j = 1 To i
  33.         Cells(i, j) = j
  34.     Next
  35. Next
  36. End Sub

  37. Sub 循环作业()
  38. Dim i As Integer
  39. Dim total As Integer
  40. i = 2
  41. Do While Cells(i, 1) <> ""
  42.     total = total + Cells(i, 2)
  43.     If total > 1000 Then
  44.         MsgBox "超支了,超支日期为:" & Cells(i, 1)
  45.         Exit Sub
  46.     End If
  47.     i = i + 1
  48. Loop
  49. MsgBox "没有超支!"
  50. End Sub
复制代码

评分

参与人数 1 +20 金币 +20 收起 理由
chenzhi_juan + 20 + 20 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-11-9 12:32 | 显示全部楼层
C02-cleverzhzhf
  1. Sub triangle1()
  2.     Dim i As Long, j As Long
  3.     Dim arr(1 To 7, 1 To 7), brr(1 To 7, 1 To 7)
  4.         For i = 1 To 7
  5.             For j = 1 To 7
  6.                 If i + j > 7 Then
  7.                     arr(i, j) = "*"
  8.                     brr(i, j) = i
  9.                 End If
  10.             Next j
  11.         Next i
  12.         Range("A1").Resize(7, 7) = arr
  13.         Range("A11").Resize(7, 7) = brr
  14.         Columns("A:A").Resize(, 7).HorizontalAlignment = xlCenter
  15.         Columns("A:A").Resize(, 7).EntireColumn.AutoFit
  16. End Sub
  17. Sub triangle2()
  18.     Dim i As Long, j As Long
  19.     Dim arr(1 To 7, 1 To 7), brr(1 To 7, 1 To 7)
  20.         For i = 1 To 7
  21.             For j = 1 To 7
  22.                 If i >= j Then
  23.                     arr(i, j) = "*"
  24.                     brr(i, j) = j
  25.                 End If
  26.             Next j
  27.         Next i
  28.         Range("J1").Resize(7, 7) = arr
  29.         Range("J11").Resize(7, 7) = brr
  30.         Columns("J:J").Resize(, 7).HorizontalAlignment = xlCenter
  31.         Columns("J:J").Resize(, 7).EntireColumn.AutoFit
  32. End Sub
  33. Sub triangle3()
  34.     Dim i As Long, j As Long
  35.     Dim arr(1 To 7, 1 To 7), brr(1 To 7, 1 To 7)
  36.         For i = 1 To 7
  37.             For j = 1 To 7
  38.                 If i <= j Then
  39.                     arr(i, j) = "*"
  40.                     brr(i, j) = j
  41.                 End If
  42.             Next j
  43.         Next i
  44.         Range("S1").Resize(7, 7) = arr
  45.         Range("S11").Resize(7, 7) = brr
  46.         Columns("S:S").Resize(, 7).HorizontalAlignment = xlCenter
  47.         Columns("S:S").Resize(, 7).EntireColumn.AutoFit
  48. End Sub
复制代码

评分

参与人数 1 +12 金币 +12 收起 理由
chenzhi_juan + 12 + 12 未做第二题

查看全部评分

回复

使用道具 举报

发表于 2015-11-9 14:15 | 显示全部楼层
C08:悠悠05
第一题
  1. Sub 图一()
  2.     Dim i As Integer, j As Integer
  3.     For i = 1 To 7
  4.         For j = 7 To 8 - i Step -1
  5.             Cells(i, j) = "*"
  6.         Next
  7.     Next
  8. End Sub
复制代码
  1. Sub 图二()
  2.     Dim i As Integer, j As Integer
  3.     For i = 7 To 1 Step -1
  4.         For j = 1 To i
  5.             Cells(j, i) = "*"
  6.         Next
  7.     Next
  8. End Sub
复制代码
  1. Sub 图三()
  2.     Dim i As Integer, j As Integer
  3.     For i = 1 To 7
  4.         For j = 7 To 8 - i Step -1
  5.             Cells(i, j) = i
  6.         Next
  7.     Next
  8. End Sub
复制代码
  1. Sub 图四()
  2.     Dim i As Integer, j As Integer
  3.     For i = 1 To 7
  4.         For j = 1 To i
  5.             Cells(i, j) = j
  6.         Next
  7.     Next
  8. End Sub
复制代码
第二题
  1. Sub 第二题判断()
  2.     Dim x As Integer, sums As Integer                '定义两个变量
  3.     x = 2                                            '从x=2时开始循环
  4.     Do While Cells(x, 2) <> ""                       '单元格不为空则进行以下循环,为空则停该循环
  5.         sums = sums + Cells(x, 2)                    '对B列单元格从B2开始按循环累计求和
  6.         If sums > 1000 Then                          '当循环到所得的sums和的值大于1000则
  7.             MsgBox "超支的日期为" & Cells(x, 1)       '显示超出日期并跳出sub语句
  8.             Exit Sub
  9.         End If
  10.         x = x + 1                                    '对X累计计数
  11.     Loop
  12.     If sums < 1000 Then                              '循环结束后假如还没有大于1000则
  13.         MsgBox "未超支"                               '显示未超支
  14.     End If
  15. End Sub
复制代码
不太习惯贴代码,所以附件也上传了代码和附件是一样的

C08:悠悠05.rar

23.3 KB, 下载次数: 4

评分

参与人数 1 +20 金币 +20 收起 理由
chenzhi_juan + 20 + 20 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-11-10 08:43 | 显示全部楼层
C14-冻顶百合作业
  1. Sub 作业1()
  2. Dim i As Integer, j As Integer
  3.     For i = 1 To 7
  4.         For j = 1 To 8 - i
  5.             Cells(i, j) = "*"
  6.         Next j
  7.     Next i
  8. End Sub

  9. Sub 作业2()
  10. Dim i As Integer, j As Integer
  11.     For i = 1 To 7
  12.         For j = 8 - i To 7
  13.             Cells(i, j) = "*"
  14.         Next j
  15.     Next i
  16. End Sub

  17. Sub 作业3()
  18. Dim i%, j%
  19.     For i = 1 To 7
  20.         For j = 1 To i
  21.             Cells(i, j) = "*"
  22.         Next
  23.     Next
  24. End Sub

  25. Sub 作业4()
  26. Dim i%, j%
  27.     For i = 1 To 7
  28.         For j = i To 7
  29.             Cells(i, j) = "*"
  30.         Next
  31.     Next
  32. End Sub

  33. Sub 作业5()
  34. Dim i%, j%
  35.     For i = 1 To 7
  36.         For j = 1 To 8 - i
  37.             Cells(i, j) = j
  38.         Next
  39.     Next
  40. End Sub

  41. Sub 作业6()
  42. Dim i%, j%
  43.     For i = 1 To 7
  44.         For j = 8 - i To 7
  45.             Cells(i, j) = i
  46.         Next
  47.     Next
  48. End Sub

  49. Sub 作业7()
  50. Dim i%, j%
  51.     For i = 1 To 7
  52.         For j = 1 To i
  53.             Cells(i, j) = j
  54.         Next
  55.     Next
  56. End Sub

  57. Sub 作业8()
  58. Dim i%, j%
  59.     For i = 1 To 7
  60.         For j = i To 7
  61.             Cells(i, j) = j
  62.         Next
  63.     Next
  64. End Sub
  65.          

复制代码

评分

参与人数 1 +12 金币 +12 收起 理由
chenzhi_juan + 12 + 12 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-11-10 20:04 | 显示全部楼层
本帖最后由 epprobie 于 2015-11-10 20:08 编辑

C10:epprobie
  1. Sub 作业2()
  2.     Dim i As Integer, j As Integer
  3.     For j = 1 To 7
  4.         For i = 1 To j
  5.             Cells(i, j) = "*"
  6.         Next i
  7.     Next j
  8. End Sub
复制代码
  1. Sub 超支日期()
  2.     Dim i As Long
  3.     Dim s As Long
  4.     For i = 2 To 32
  5.         s = Cells(i, 2) + s
  6.             If s < 1000 Then
  7.             Else
  8.             Exit For
  9.             End If
  10.     Next i
  11.     MsgBox Cells(i, 1)
  12. End Sub
复制代码

评分

参与人数 1 +8 金币 +8 收起 理由
chenzhi_juan + 8 + 8 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-11-11 19:05 | 显示全部楼层
  1. Sub 作业1()
  2. Dim i As Integer, j As Integer
  3.     For i = 1 To 7
  4.         For j = 1 To i
  5.             Cells(i, 8 - j) = "*"
  6.         Next j
  7.     Next i
  8. End Sub

  9. Sub 作业2()
  10. Dim i As Integer, j  As Integer
  11.     For i = 1 To 7
  12.         For j = 1 To i
  13.             Cells(i, 8 - j) = i
  14.         Next
  15.     Next
  16. End Sub

  17. Sub 作业三()
  18.     Dim i As Integer, j As Integer
  19.     For i = 7 To 1 Step -1
  20.         For j = 1 To i
  21.             Cells(i, j) = j
  22.         Next j
  23.     Next i
  24. End Sub


  25. Sub 作业四()
  26.      Dim i As Integer, j As Integer
  27.     For i = 1 To 7
  28.         For j = 1 To i
  29.             Cells(j, i) = "*"
  30.         Next j
  31.     Next i
  32. End Sub


  33. Sub 预算消费情况()
  34. Dim j As Integer, i As Integer
  35.     For j = 2 To 32
  36.         i = Range("b" & j).Value + i
  37.         If i > 1000 Then
  38.             MsgBox Range("a" & j).Value & " 超支了!"
  39.             Exit Sub
  40.         End If
  41.     Next
  42.     MsgBox "这个月俺很节俭,双十一没有疯狂购物,没有超支。嘿嘿!"
  43. End Sub
复制代码

评分

参与人数 1 +16 金币 +16 收起 理由
chenzhi_juan + 16 + 16 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-11-14 17:04 | 显示全部楼层
本帖最后由 Eternerlong 于 2015-11-17 17:06 编辑
  1. Sub 是否超支()
  2.     Dim i As Integer, sums As Integer
  3.     i = 2
  4.     Do While Cells(i, 2) <> ""
  5.         sums = sums + Cells(i, 2)
  6.         i = i + 1
  7.         If sums > 1000 Then
  8.             MsgBox "这个月超支了,超支日期为:" & Cells(i, 1)
  9.             Exit Do
  10.         End If
  11.     Loop
  12.     If sums < 1000 Then MsgBox "没有超支"
  13. End Sub

  14. Sub 循环嵌套作业1()
  15.     Dim i As Integer, k As Integer
  16.     For i = 1 To 7
  17.         For k = 7 To 7 - i + 1 Step -1
  18.             Cells(i, k) = "*"
  19.         Next
  20.     Next
  21. End Sub
  22. Sub 作业2()
  23.     Dim i As Integer, k As Integer
  24.     For i = 1 To 7
  25.         For k = i To 7
  26.             Cells(i, k) = "*"
  27.         Next
  28.     Next
  29. End Sub
  30. Sub 作业3 ()
  31.     Dim i As Integer, k As Integer
  32.     For i = 1 To 7
  33.         For k = 7 To 8 - i Step -1
  34.             Cells(i, k) = i
  35.         Next
  36.     Next
  37. End Sub
  38. Sub 作业4()
  39.     Dim i As Integer, k As Integer
  40.     For i = 1 To 7
  41.         For k = 1 To i
  42.         Cells(i, k) = k
  43.         Next
  44.     Next
  45. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 08:38 , Processed in 0.323576 second(s), 21 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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