使用VBA在数组之间转移数据
excelperfect
标签:VBA,数组本文展示如何将数据从一个数组移动到另一个数组,并转移后的数据输入到另一个位置。也就是说,如何使用第二个数组将数据从Excel中移出,并存储到内存中,然后再移回单元格中。示例过程的目标不是移动整个数组,而是移动数组的一部分。在这个示例中,将移动数组中的第2列、第8列和第19列,并且只有这些列的数据存储在第二个数组中,从而以这种方式筛选掉第一个数组中大量不必要的数据。下面的过程将数据从数组(ar)移到数组(var)。Sub MoveArray()Dim ar As VariantDim var As VariantDim arr As VariantDim i As LongDim j As Longarr = [{2,8,19}]ar = Sheet1.[A1].CurrentRegionReDim var(1 To UBound(ar), 1 To UBound(arr))For i = 1 To UBound(ar)For j = 1 To UBound(arr)var(i, j) = ar(i, arr(j))Next jNext iSheet2.[A1].Resize(UBound(var), UBound(arr)) = varEnd Sub原始数据在工作表Sheet1中单元格A1所在的当前区域:ar = Sheet1.[A1].CurrentRegion要获取该区域中的第2、8、19列:arr = [{2,8,19}]重新定义存放要移动的数据的数组:ReDim var(1 To UBound(ar), 1 To UBound(arr))示例中是29行3列。然后逐行将数据存储到数组var:For i = 1 vba 字符串转数组
To UBound(ar) For j = 1 To UBound(arr) var(i, j) = ar(i, arr(j)) Next jNext i最后,将数组var中的数据输出到指定工作表:Sheet2.[A1].Resize(UBound(var), UBound(arr)) = var

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。