excel使用技巧大全在平时的工作中,大家是否会经常遇到要把几列数据合并在一起呢?那在VBA中又该如何做呢?
看下图:
如上图所示,A到D列是数据区域。在这些数据区域中,可以通过输入关键字提取相关信息,并将其放置在F到I列中。
方法如下:
合并数据区域每一行的数据,当我们输入查询关键字时,我们将每一行数据与输入关键字合并在一起。假如数据里有关键字时,则会将这一行数据放置到新数组中,然后在转置后将新的组数输出到F到I列。
怎样才能将每一行的数据合并一起呢?我们需要用VBA里面的join函数。
用法:
join(待合并的数组,"分隔符号"),第2个参数不写就会默认以空格分开。
注意:join只能合并1维数组。
本文开头说的案例代码:
Sub 查找()
Dim hs%, i%, arr, a, sr$, arr1(), n%
sr = InputBox("请输入要查找的内容")
hs = Range("a1").CurrentRegion.Rows.Count
For i = 1 To hs
arr = Cells(i, 1).Resize(1, 4)
a = join(Application.Transpose(Application.Transpose(arr)))
If a Like "*" & sr & "*" Then
n = n 1
ReDim Preserve arr1(1 To n)
arr1(n) = arr
End If
Next
[f3].Resize(n, 4) = Application.Transpose(Application.Transpose(arr1))
End Sub
arr为每一行的数据,为一个一行四列的数组(二维数组),如果想用join合并,则要将arr通过transpose转置2次变为3维数组后才能合并。
,