2016 - 2024

感恩一路有你

vba数组赋值 VBA中如何利用动态数组去除重复值?

浏览量:1393 时间:2021-03-16 13:46:20 作者:admin

VBA中如何利用动态数组去除重复值?

方法1

dim a(9)为整数

dim b()为整数

dim I为整数,j为整数

ReDim preserve b(0)

b(0)=a(0)

对于I=1到UBound(a)

对于j=0到UBound(b)

如果a(I)=b(j),则转到网络,如果相同,跳出

下一步

ReDim preserve B(UBound(B)1)

B(UBound(B))=a(I)

net:跳转到这里,匹配下一个数据

下一步

a=B]]方法2,有10个数字。首先找出最大数,根据这个数定义一个数组,并将相应的值写入相应的元素中。最好先设置一个默认值

将a(9)设置为整数

将I设置为整数,将temp设置为整数

将temp=a(0)

将I=1设置为(a)左右

如果a(I)&将temp设置为(I)

将temp=a(I)

结束if

下一个I

将B(temp)设置为整数

将I=0设置为(a)

B(a(I))=a(I)

下一个你是。参见:尺寸I和尺寸D脚本。字典设置d=新脚本。字典如果IsMissing(MyArray(i))=False,则用d表示i=LBound(MyArray)到UBound(MyArray)。如果Next Removedupesdict=,则item(MyArray(i))=1结束。钥匙的结尾是

既然捐赠者这么坚持,我就出丑了。让我们从以下想法开始:1。遍历除第一页以外的每一页;2。在工作表中,复制除第一列以外的内容。这个地方不容易处理,因为它需要低效的代码来确定数据区域的边界幸运的是,excel提供了相应的方法。否则,它必须设置一层循环。三。返回到第1页,将内容粘贴到第1页,并返回最后一列的坐标。4转到下一页,复制除一列以外的内容。5回到第1页,根据步骤3中返回的坐标粘贴内容,内容按顺序粘贴到第1页。重复直到结束。首先处理如何在两张纸之间复制粘贴的问题,然后发送坐标)。然后调用这个函数来求解。如果代码有bug,麻烦修改它~~基本流程可以在my office 2013中使用:

]“使用字典重新强调,下面是示例代码,删除第一列中的重复项子项。Test()“使用字典删除重复项。字典的特点是键值不能重复。Dim DIC,arr Dim I为整数,r为整数Dim STR为字符串,r=Sheet1。范围(“a65536”)。结束(xlup)。行如果r=1则退出sub“如果第一列中没有数据,则退出程序集DIC=CreateObject(”脚本.dictionary“”“为I=1到R”创建一个dictionary对象,将第一列数据添加到dictionary dic(CSTR)的键值(cells(I,1) )=“”下一个arr=Dic.钥匙“Return the array of dictionary key set DIC=nothing”destroy the object STR=join(arr,“,”)”将数组内容显示为字符串msgbox strengd sub

vba数组赋值 vba数组删除某个元素 vba数组的经典用法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。