excel使用技巧大全在平时的工作中,大家是否会经常遇到要把几列数据合并在一起呢?那在VBA中又该如何做呢?

看下图:

excel哪个版本有text join函数(Excel与数组相关的函数之join)(1)

如上图所示,A到D列是数据区域。在这些数据区域中,可以通过输入关键字提取相关信息,并将其放置在F到I列中。

方法如下:

合并数据区域每一行的数据,当我们输入查询关键字时,我们将每一行数据与输入关键字合并在一起。假如数据里有关键字时,则会将这一行数据放置到新数组中,然后在转置后将新的组数输出到F到I列。

怎样才能将每一行的数据合并一起呢?我们需要用VBA里面的join函数。

用法:

join(待合并的数组,"分隔符号"),第2个参数不写就会默认以空格分开。

excel哪个版本有text join函数(Excel与数组相关的函数之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维数组后才能合并。

,