vba数组赋值 VBA中如何利用动态数组去除重复值?
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数组的经典用法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。