Excel精英培训网

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

[通知] Excel 2015VBA初级2班第6课A组作业上交贴(已开贴)

[复制链接]
发表于 2015-11-16 09:55 | 显示全部楼层 |阅读模式
本帖最后由 雪舞子 于 2015-11-18 17:59 编辑

作业说明及要求:

1、根据第六课所讲的内容,按老师布置的作业,编写一段自认为精练的代码;
2、提交作业请注明论坛ID及学号。如:A01-麻花_;
3、作业请以代码方式提交,标清题号并所有题贴到一个代码标签中,无需提交附件。 不会使用标签可移步帖子:http://www.excelpx.com/thread-322284-1-1.html
4、代码题要求强制声明变量,关键语句标明注释,代码缩进;不会缩进可使用缩进小工具:http://www.excelpx.com/thread-366281-1-1.html
5、跟帖不要重复占楼,有问题直接在原帖编辑;
6、本次课程安排紧凑,时间紧任务重,同学们加油!
7、作业截止时间:第7课上课日之18:00时
发表于 2015-11-16 16:28 | 显示全部楼层

A02-guofei0344_

本帖最后由 guofei0344 于 2015-11-16 16:30 编辑
  1. Public Function 判断(a As String, b As String)
  2. Dim arr1, arr2, i As Byte, j As Byte, k As Byte
  3.     arr1 = VBA.Split(a, ",")
  4.     arr2 = VBA.Split(b, ",")
  5.     If a = b Then 判断 = "相同": Exit Function
  6.     If VBA.Len(a) <> VBA.Len(b) Or UBound(arr1) <> UBound(arr2) Then 判断 = "不相同": Exit Function
  7.         For i = 0 To UBound(arr1)
  8.             For j = 0 To UBound(arr2)
  9.                 If arr1(i) = arr2(j) Then
  10.                     k = k + 1
  11.                     arr2(j) = ""
  12.                     Exit For
  13.                 End If
  14.             Next
  15.         Next
  16.     If k = UBound(arr1) + 1 Then
  17.         判断 = "相同"
  18.     Else
  19.         判断 = "不相同"
  20.     End If
  21. End Function
复制代码

点评

基本实现了题目要求,按本题要求来讲没有错误。代码简练,逻辑严谨,判断巧妙。如果再加深一下,“A,B,C,A”与“A,B,C”判断就会不正确,该如何避免呢?  发表于 2015-11-18 17:57

评分

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

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-11-18 17:58 | 显示全部楼层
作业截止---------------------------------------------------------
回复

使用道具 举报

发表于 2015-11-19 17:17 | 显示全部楼层
  1. Function 判断(ByVal x As String, ByVal y As String)
  2.     Dim m, i As Integer, j As Integer
  3.     m = Split(x, ",")
  4.     For i = 0 To UBound(m)
  5.         If InStr(1, y, m(i)) > 0 Then
  6.             j = j + 1
  7.         End If
  8.     Next i
  9.     If (j = UBound(m) + 1) * (Len(x) = Len(y)) Then
  10.         判断 = "相同"
  11.     Else
  12.         判断 = "不相同"
  13.     End If
  14. End Function
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 00:59 , Processed in 0.320926 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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