打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA/Excel-实例系列-05-数组获取对应集合

系统:Windows 10
软件:Excel 2010

  • 这个系列说一些使用Excel/VBA具体的一些实例

  • 今天讲讲如何获取数组中所含的唯一值,即集合

今日歌曲:

相关文章:

VBA/Excel-实例系列-04-求两个数组的交集

  1. 在上次的实例中,求两个数组的交集,造一个轮子,但是要求输入数组内元素没有重复值

  2. 今天就由已知数组,获取对应的无重复值数组

Part 1:逻辑过程

  1. 待求解数组1,输出数组2

  2. 首先将数组1中的第一个值赋给数组2

  3. 对数组1的其它值进行循环

  4. 不在数组2中,则数组2中增加该值,否则不增加

Part 2:代码

Function funOnlyValue(array1)    Rem>>求某一数组中的唯一值    Rem>>利用动态数组实现    Rem>>要求数组不为空    Rem>>    Dim maxNum    Dim array2()    Dim val1    Dim count2    Dim i    Dim pos    maxNum = UBound(array1)    If maxNum = 0 Then '一个元素求集合是其本身        funOnlyValue = array1    Else        ReDim Preserve array2(0)        array2(0) = array1(0)        count2 = 0        For i = 1 To maxNum Step 1            val1 = array1(i)            pos = Application.Match(val1, array2, 0)            If IsError(pos) Then                count2 = count2 1                ReDim Preserve array2(count2)                array2(count2) = val1            End If        Next i        funOnlyValue = array2    End IfEnd Function

Part 3:调用该函数

Sub test()    Rem>>    Dim array1()    Dim array2()    Dim array11()    Dim array22()    array1 = Array('张三', '李四', 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, '张三', '李四')    array2 = Array(1)    array11 = funOnlyValue(array1)    array22 = funOnlyValue(array2)End Sub

执行结果

注:当数组为空时,本函数会不适用,所以需提前排除空数组


以上为本次的学习内容,下回见

本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【原创】VBA学习笔记(13)VBA的数组 array
Excel统计函数:F.TEST 函数实例
Excel函数应用实例:排名次
Excel 常见字典用法集锦及代码详解3
VBA 数组
VBS连接数据库操作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服