vba数组查找(VBA Excel中,两个数组查找匹配该怎么写)
本文目录
VBA Excel中,两个数组查找匹配该怎么写
那只有用循环来做!双重循环。Option ExplicitPrivate Sub Command1_Click()Dim A, BDim C() As StringDim i As IntegerDim j As IntegerDim n As IntegerA = Array("A", "B", "C", "D")B = Array("A", "B")’采用循环嵌套进行查核n = -1For i = 1 To UBound(A) For j = 1 To UBound(B) If A(i) = B(j) Then Exit For Next j If j 》 UBound(B) Then n = n + 1 ReDim Preserve C(n) As String C(n) = A(i) End IfNext i’输出数组CIf n 》 -1 Then For i = 0 To UBound(C) Print C(i) Next iElse Print "数组C没有元素!"End IfEnd Sub
VBA用数组用for循环 查找等于52的所有单元格1
有两个办法: 1、将比较语句做一个循环:For j = 0 To UBound(arr) 2、如果不会变换使用上述方法,增加一个数组过渡,现在的arr为固定数组:dim arr(4),假定过渡数组为:arr1 = Split(Range("a" & i), "-"),将arr1循环赋值给arr
用VBA数组字典实现多条件查找
Sub s() arr = .CurrentRegion brr = .CurrentRegion Set d = CreateObject("scripting.dictionary") For i = 2 To UBound(brr) d(brr(i, 1) & brr(i, 2)) = i Next For i = 2 To UBound(arr) t = arr(i, 1) & arr(i, 2) If d.Exists(t) Then brr(d(t), 3) = brr(d(t), 3) + arr(i, 3) brr(d(t), 4) = brr(d(t), 4) + arr(i, 4) End If Next .Resize(UBound(brr), UBound(brr, 2)) = brrEnd Sub
寻找数组唯一值 VBA
用字典比较好写:
Sub 统计()Dim i, j, arrDim d, k, tSet d = CreateObject("Scripting.Dictionary")arr = Sheets("Consolidation").Range("B2:NC129") ’需要统计的数据For i = 1 To UBound(arr,2) For j= 1 to 128 d(arr(j, i)) = d(arr(j, i)) + 1 ’遍历统计出现的次数 NextNextk = d.keyst = d.itemsSheets("Sheet14").range("a1").Resize(d.Count, 1) = Application.Transpose(k) ’出现的单元格值Sheets("Sheet14").range("b1").Resize(d.Count, 1) = Application.Transpose(t) ’该值出现的次数Set d = NothingEnd Sub
更多文章:
你相信勇士今年还有奇迹吗你支持谁?MU奇迹来了多倍经验获取途径有哪些详解
2023年12月29日 22:20
p2psearcher官网(p2p搜索器搜出单下载不了,看不了求给个能用的)
2024年7月19日 13:08
手机最火小游戏(手机有什么打僵尸的游戏 与僵尸搏斗的最火手游合集)
2024年6月25日 22:00
梅花视频不限次数看花钱么(我国60岁以上的老年人进景区半价70岁以上全免费吗)
2024年6月7日 08:46
电脑上怎么把pdf转成word(电脑pdf怎么转换成word)
2024年6月30日 01:35
连连看游戏在线玩(经常玩连连看,最近听说有一些连连看还很有难度咧,有个叫宠物连连看的,哪个朋友提供下网址哈)
2024年6月28日 01:25
迅捷pdf编辑器下载(迅捷pdf编辑器怎样下载才不会下载到盗版软件)
2024年6月30日 08:17