Resize(UBound(arr, 1), UBound(arr, 2) 这句什么意思

 
resize()是一个扩展单元格地址区域的函数,有两个参数,第一个是行扩展数,第二个是列扩展数
 
UBound(arr, 1) :arr数组中最大行数;
UBound(arr, 2) :arr数组中最大列数。
 
这里是把数组的最大行数充当了 RESIZE的行扩展,最大列数 充当了resize的列扩展数。
 
 
arr = Range(("a2:b") & Range("a6555").End(xlUp).Row)
[a2].Resize(UBound(arr), 2) = arr    '请详细解释一下这行什么意思?
 
把AB2列存入数组arr,再将arr重写入这个区域
效果就是如果原来有公式,这样就全没了,相当于粘贴数值。
 
例子1:
-------------------------------
Sub iSub()
    Dim arr
    arr = Range("a1:a7")
    For i = 1 To UBound(arr, 1)
       For j = 1 To UBound(arr, 2)
          '处理的语句
       Next
    Next
End Sub
--------------------------------
解释:
将 arr 赋值为一个数组,即 Range("a1:a7")的单元格区域内容,即一个7行1列的区域
相当于:先定义数组 arr(1 to 7 ,1 to 1),再赋值内容
 
使用UBound(arrayname[, dimension])函数,获取指定维数的上限:
UBound(arr, 1)  取得arr第一维的上限: 7
UBound(arr, 2)  取得arr第二维的上限: 1
 
用两个 for ,循环数组中的每个元素。
 
例子2:
Sub 二列数据找相同项数组法()
    Dim arr1, arr2, arr3()
    arr1 = Range("A1:A13")            '第一列数据范围
    arr2 = Range("B1:B13")            '第二列数据范围
    For i = 1 To UBound(arr1)
       For j = 1 To UBound(arr2)
           If arr1(i, 1) = arr2(j, 1) Then
              If InStr(Join(arr3, ","), arr1(i, 1)) = 0 Then
                 n = n + 1
                 ReDim Preserve arr3(1 To n)
                 arr3(n) = arr1(i, 1)
                 Exit For
              End If
           End If
       Next
    Next
   Range("d1").Resize(UBound(arr3), 1) = WorksheetFunction.Transpose(arr3)         '相同的项放在d1单元格中。
End Sub
 
Sub 二列数据找相同项字典法()
    arr1 = Range("A1:A13")        '第一列数据范围
    arr2 = Range("B1:B13")        '第二列数据范围
    Set d = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(arr1)
       d(arr1(i, 1)) = 0
    Next
    For j = 1 To UBound(arr2)
       If d.exists(arr2(j, 1)) Then d(arr2(j, 1)) = 1
    Next
    For Each d1 In d.keys
       If d(d1) = 0 Then d.Remove (d1)
    Next
   Range("f1").Resize(d.Count, 1) = WorksheetFunction.Transpose(d.keys)        '相同的项放在f1单元格。
End Sub

最新文章

  1. IIS GZip
  2. js原型基础
  3. 如何搭建一个WAMP环境
  4. 说说设计模式~适配器模式(Adapter)
  5. WPF 异步加载高清大图
  6. java面试总结-(hibernate ibatis struts2 spring)
  7. wx.html2.WebView在 target="_blank" or rel="external" 没有反映的解决方法
  8. 修改stb_image.c以让Duilib直接支持Ico格式的图标显示
  9. Cocoapod安装 - 管理第三方库
  10. iOS_词典阵列 按key分组和排序
  11. 关于JavaScript语法的小笔记
  12. Windows Nodejs 安装教程
  13. Eclipse+maven+scala+spark环境搭建
  14. Asp.Net \uxxx Unicode编码解码
  15. Adobe PhotoshopCC2017 安装与破解(Mac)
  16. [lisp] scheme学习2
  17. google analysis教程
  18. Java使用BigDecimal解决精确计算的问题
  19. markdown中设置、调整图片尺寸
  20. Python:numpy中的tile函数

热门文章

  1. 微信小程序第三方授权登录
  2. 220726 T1 树染色问题 (树的直径)
  3. Java8新特性之Stream流(含具体案例)
  4. 第一个java程序进行总结
  5. 一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
  6. Codeforces 1682 D Circular Spanning Tree
  7. 深入理解独占锁ReentrantLock类锁
  8. 【vue2】Style和Class,条件,列表渲染,双向数据绑定,事件处理
  9. 纯css爱心代码-最近超级火的打火机与公主裙中的爱心代码(简易版)
  10. CF620E New Year Tree(树形+dfs序+线段树+状态压缩)