中求解数组中元素个数_VBA中利用数组上下标快速求出数组元素个数的方法

大家好,今日继续和大家分享VBA编程中常用的常用"积木"过程代码。这些内容大多是我的经验和记录,来源于我多年的经验。今日分享的是NO.223-NO.224,内容是:

NO. 223:计算数组的上标下标及元素的个数值

NO. 224:数组函数JOIN的作用

8c684632a9a52505e7101bb1f94bd2d4.png

VBA过程代码223:计算数组的上标下标及元素的个数值

 Sub Mynz ()

Dim arr(10 To 50)

Dim brr(1 To 10, 1 To 100)

MsgBox "第一个一维数组数组的上标是:" & UBound(arr) & Chr(13) _

& "数组的下标是:" & LBound(arr) & Chr(13) _

& "数组的元素个数是:" & UBound(arr) - LBound(arr) + 1 & Chr(13) _

& "第二个两维数组第一维的上界是:" & UBound(brr, 1) & Chr(13) _

& "第二维的上界是:" & UBound(brr, 2)

End Sub

代码解析:mynz过程将一维数组arr和二维数组brr的上下标计算出来,将一维数组的元素个数计算出来提供给用户。上下标是通过Ubound函数及Lbound的函数来实现的。元素个数是: UBound(arr) - LBound(arr) + 1

1814a2bbc6488e50f91fe0247acce007.png

VBA过程代码224:数组函数JOIN的作用

Sub Mynz ()

Dim arr(1 To 10), i As Integer, txt As String

For i = 1 To 10 '给数组赋值

arr(i) = i

Next i

txt = Join(arr, ",") '将arr数组的元素连成字符串,用逗号作分隔符

MsgBox txt

End Sub

代码解析:mynz过程利用Join函数将数组的值与指定字符连接,形成一个字符串。首先给数组arr进行赋值,赋值为1到10的自然数。然后利用Join函数将数组的值与指定字符","连接,连接后将最后的字符串赋值给txt,最后用MsgBox对话框显示给用户

008773d1e3aab621377a948e04db943e.png

VBA是利用OFFICE实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,总结了四部VBA学习资料,是我"积木编程"思想的体现。

第一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点;

第二:VBA数据库解决方案,是数据处理的专业利器,介绍利用ADO连接ACCDB,EXCEL。

第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。

第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

VBA真的非常实用,希望大家掌握这个工具,利用这个工具,让自己在工作中轻松,高效,快乐。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\],可以使用数对对消的思路来解决这个问题。假设数组现次数最多的数为1,并且超过了一半。我们可以将1与其他不为1的数字进行匹配,每次匹配一个<1,?>的数对。最后剩余没有匹配的数仍然是1,即为现次数最多的数。这种方法的时间复杂度较高,需要遍历整个数组。具体的代码可以根据实际情况进行编写。 另外,根据引用\[2\]和引用\[3\],还可以使用计数数组或HashMap来解决这个问题。使用计数数组方法是定义一个计数数组count,用来对数组的数字现的次数进行计数。count数组最大的元素对应的下标即为现次数最多的那个数。使用HashMap的方法是遍历数组元素构造HashMap,然后遍历每个Entry,找最大value对应的key,即为现次数最多的那个数。这两种方法的时间复杂度都为O(n)。 综上所述,可以根据实际情况选择使用数对对消、计数数组或HashMap来求解数组现次数前n个现次数最多的数。 #### 引用[.reference_title] - *1* *2* *3* [找数组现次数最多的那个数——主元素问题](https://blog.csdn.net/weixin_39599830/article/details/114518563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值